Norivan Oliveira Postado Julho 13, 2007 Denunciar Share Postado Julho 13, 2007 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Julho 13, 2007 Denunciar Share Postado Julho 13, 2007 De onde vem $imagem_nome? Tente trocá-la por $arquivo['name'].Abraços,Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Julho 13, 2007 Autor Denunciar Share Postado Julho 13, 2007 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.htmlCodigo:<?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; } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Julho 14, 2007 Denunciar Share Postado Julho 14, 2007 Aparentemente está tudo correto. Talvez o servidor esteja ocultando um possível erro. Insira este código no início do script e o execute novamente:ini_set("error_reporting", E_ALL); ini_set("display_errors", 1);http://www.php.net/ini_setVeja se aparece algum erro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Julho 14, 2007 Autor Denunciar Share Postado Julho 14, 2007 Coloquei e não apareceu nada.Não tem uma outras função que eu possa usar para fazer o upload? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Julho 14, 2007 Denunciar Share Postado Julho 14, 2007 Esse é o modo mais adequado.Mais detalhes sobre uploads:http://br2.php.net/manual/pt_BR/features.file-upload.phpVerifique o valor de $_FILES['foto']['error']. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CSML sistemas Postado Julho 14, 2007 Denunciar Share Postado Julho 14, 2007 Duas restrições devem ser consideradas, pois são aplicadas:1. Tamanho do arquivo enviado está limitado a 30000 bytes;2. Diretório "fotos/" deve existir no mesmo diretório que contém o script em uso.Estou certo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Julho 14, 2007 Autor Denunciar Share Postado Julho 14, 2007 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.phpMas 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Julho 14, 2007 Denunciar Share Postado Julho 14, 2007 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"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Julho 14, 2007 Autor Denunciar Share Postado Julho 14, 2007 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CSML sistemas Postado Julho 14, 2007 Denunciar Share Postado Julho 14, 2007 Tem que ver o erro que foi registrado no log... aqui no meu apache foi tudo bem. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Julho 14, 2007 Autor Denunciar Share Postado Julho 14, 2007 (editado) 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 funfouVlw galera, desculpa se enchi muito o saco... qualquer coisa desconta lá na sala Dreamweaver :)Até a próxima!!! Editado Setembro 24, 2007 por Norivan Oliveira Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Norivan Oliveira
Estou tentando upar um arquivo de imagem usando o seguinte codigo
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
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.