Jump to content
Fórum Script Brasil
  • 0

Problemas Com Upload. Não Upa


Norivan Oliveira
 Share

Question

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 to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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!!!

Edited by Norivan Oliveira
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...