Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Com Upload. Não Upa


Norivan Oliveira

Pergunta

Estou tentando upar um arquivo de imagem usando o seguinte codigo

<?php
$opcao = $_GET["opt"];

switch ($opcao)
{
     case "1":
         echo "<form enctype=\"multipart/form-data\" method=\"post\" action=\"teste_up.php?opt=2&p=". $_GET["p"] ."\">\n";
         echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"30000\">\n";
         echo "Arquivo: <input type=\"file\" name=\"foto\"><br>\n";
         echo "<input type=\"submit\" name=\"submit\" value=\"Enviar\">\n";
         echo "</form>\n";

         break;

     case "2":
         if ($_POST["submit"])
         {
             $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

            $config["tamanho"] = 15000;
            $config["largura"] = 800;
            $config["altura"] = 600;
            $imagem_dir = "fotos/" . $imagem_nome;
            move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

             echo "<script type=\"text/javascript\">\n";
             echo "window.opener.define_nome_foto('" . $_FILES["up_teste"]["name"] . "'," . $_GET["p"] . ");\n";
             echo "window.close();\n";
             echo "</script>\n";
         }
         break;
}

?>

Não dá nenhuma msg de erro, mas também não upa, porque?

obs:o java script ai no meio é usado pra preencher o campo com o nome do arquivo upado

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

O $imagem_nome era pra criptografacao MD5 agora tirei, passei o $imagem_nome para $_FILES["foto"]["name"] como isso acho que ele vai pegar o valor do input file FOTO certo?

O echo "window.opener.define_nome_foto('" . $_FILES["up_teste"]["nam...

subtitui por echo "window.opener.define_nome_foto('" . $_FILES["foto"]["nam...

-----

Ele tá passando o valor pro campo mas continua não upando a imagem, acho que o erro esta nesta linha aqui

$imagem_dir = "fotos/" . $_FILES["foto]["name"] ;

no . $_FILES["foto"]["name"] ;

Mas o que devo por no lugar pra ele pegar o nome da imagem?

Veja ele online: http://www.mrdesigners.com/teste1.html

Codigo:

<?php
$opcao = $_GET["opt"];

switch ($opcao)
{
     case "1":
         echo "<form enctype=\"multipart/form-data\" method=\"post\" action=\"upload1.php?opt=2&p=". $_GET["p"] ."\">\n";
         echo "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"30000\">\n";
         echo "Arquivo: <input type=\"file\" name=\"foto\"><br>\n";
         echo "<input type=\"submit\" name=\"submit\" value=\"Enviar\">\n";
         echo "</form>\n";

         break;

     case "2":
         if ($_POST["submit"])
         {
             $arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
            
            preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
            
            $config["tamanho"] = 15000;
            $config["largura"] = 800;
            $config["altura"] = 600;
            $imagem_dir = "fotos/" . $_FILES["foto"]["name"];

            move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

             echo "<script type=\"text/javascript\">\n";
                 echo "window.opener.define_nome_foto('" . $_FILES["foto"]["name"] . "'," . $_GET["p"] . ");\n";
             echo "window.close();\n";
             echo "</script>\n";
         }
         break;
}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Está certo sim CSML.

O arquivos estão na pasta wwwroot e a pasta fotos também, uma coisa interessante que acho que não falei ainda é que o mesmo código de upload já esta funcionando, verifique em http://www.mrdesigners.com/up.php

Mas quando o form e o codigo de window.opener que o amigo CSML me forneceu ele não upa, parece até carregar o arquivo para o servidor mas ele não aparece na pasta fotos.

Link para o comentário
Compartilhar em outros sites

  • 0
Mas quando o form e o codigo de window.opener que o amigo CSML me forneceu ele não upa, parece até carregar o arquivo para o servidor mas ele não aparece na pasta fotos.

Você quer dizer que, se retirar os JS, o upload funciona?

A imagem, de fato, está sendo enviada, pois o window.opener adiciona o nome corretamente ao campo de texto do formulário.

Tente fazer isto, para ver se a cópia da imagem está sendo feita:

if (move_uploaded_file($arquivo["tmp_name"], $imagem_dir))
{
             echo "<script type=\"text/javascript\">\n";
                 echo "window.opener.define_nome_foto('" . $_FILES["foto"]["name"] . "'," . $_GET["p"] . ");\n";
             echo "window.close();\n";
             echo "</script>\n";
}
else
{
   die("Erro no upload");
}

Link para o comentário
Compartilhar em outros sites

  • 0

Bem respondendo sua pergunta acho que não é o windows.opener não, quis dizer que o código original está funcionando, ou seja o servidor está aceitando o upload normalmente pelo jeito... eu devo ter feito alguma merda quando inclui o codigo do CSML, isso que eu quis dizer...

Link para o comentário
Compartilhar em outros sites

  • 0

Bem o código está sendo rodado em um servidor Windows com IIS + PHP 4 (tem jeito de configurar o 5 também)

Isso pode gerar o erro?

http://www.mrdesigners.com/php.php verifica as funcoes phpinfo e ini_get

///EDIT

ALELUIA foi, upou!!! Depois que inclui o if que o Beraldo fez funfou

Vlw galera, desculpa se enchi muito o saco... qualquer coisa desconta lá na sala Dreamweaver :)

Até a próxima!!!

Editado por Norivan Oliveira
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...