matthee 3 Denunciar post Postado Fevereiro 20, 2013 Boa noite pessoal, estou tentando realizar o upload de arquivos com um código simples, só a titulo de testes, mas não estou conseguindo e a propriedade de erros do array files está me devolvendo 0 o que segundo a documentação diz que é o valor que inidica que não houve erros. Segue as linhas de código. <html> <head> <title>Upload de Arquivos com PHP</title> </head> <body> <form method="post" action="upload.php" enctype="multipart/form-data"> <label>Arquivo:</label> <input type="file" name="arquivo" /> <input type="submit" value="Enviar" /> </form> </body> </html> <?php $_UP['erros'][0] = 'Não houve erro'; $_UP['erros'][1] = 'O arquivo no upload é maior do que o limite do PHP'; $_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especifiado no HTML'; $_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente'; $_UP['erros'][4] = 'Não foi feito o upload do arquivo'; $name = $_FILES["arquivo"]["name"]; echo $_UP["erros"][$_FILES["arquivo"]["error"]]; if(move_uploaded_file($_FILES["arquivo"]["tmp_name"], "/galerry/".$name)) echo "Upload realizado com sucesso!!"; ?> Como podem ver o código é mt simples, eu verifiquei a pasta temporaria que o php está utilizando e o diretório pai do mesmo não requer nenhuma autorização especial. Alguém sabe me dizer se é necessario algo mais para realizar o upload? Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Fevereiro 20, 2013 A sua dúvida reside no fato de não apresentar erros, ou de o upload não funcionar? Pois caso seja por o upload não funcionar, isso provavelmente está ocorrendo porque você definiu um caminho absoluto no segundo parâmetro do move_uploaded_file. (Leia :seta: http://www.google.com.br/search?q=caminho+relativo+x+absoluto&oq=caminho+relativo+x+absoluto&sourceid=chrome&ie=UTF-8 ) Você pode fazer o seguinte, para testar: 1 - Crie uma pasta no mesmo nível do seu arquivo de upload (coloque o arquivo .php na mesma pasta que essa pasta nova). 2 - Se for linux, dê permissão chmod para essa nova pasta. 3 - Mude o parâmetro que citei do seu script para: 'a_pasta_que_vc_criou' . DIRECTORY_SEPARATOR . $name Caso você não tenha entendido o motivo do DIRECTORY_SEPARATOR, ele é somente uma constante (variável que não muda o valor) interno do PHP que simboliza a barra (/) ou barra invertida (\), de acordo com o sistema que está executando o programa. Isso pois, se o seu ambiente for Windows, os endereços são escritos dessa forma: C:\Users\Pasta\Etc. Já no linux, é assim: /etc/var/file []'s! Compartilhar este post Link para o post Compartilhar em outros sites
matthee 3 Denunciar post Postado Fevereiro 20, 2013 Cara o caminho está correto isso é fato, ele entra em uma pasta que está no mesmo nivel que o php, eu uso linux e já dei permissão 777 na pasta tmp para onde vai os arquivos temporarios e para pasta /www/galerry também já dei permissão 777, agora vou tentar colocar o arquivo php na mesma pasta para onde as fotos irão mas acho que isso não vai ajudar mt. AA claro eu tirei o 1º / que deixava a pasta galerry como caminho absoluto Velho vc não vai acreditar eu tive que da permissão desde o começo de tudo fiz isso: chmod 777 / chmod 777 /home chmod 777 /home/matheus chmod 777 /home/matheus/www chmod 777 /home/matheus/www/galerry Ai funcinou, obrigado. Velho pra min não precisar fazer outro tópico, eu estou tentando mandar email com php consultei a documentação e pelo que percebi o seguine código seria suficiente: <?php $emailenviar = "oEmailEstáCorreto"; $assunto = "Email com php."; $enviaremail = mail($emailenviar, $assunto, "Teste Teste Teste Teste"); if($enviaremail){ echo "email enviado"; } else { echo "erro"; } ?> O que está na variavel email enviar, não é o que estou usando no código eu estou usando o meu endereço de email correto. Compartilhar este post Link para o post Compartilhar em outros sites
rockrgo 138 Denunciar post Postado Fevereiro 20, 2013 Esse modo de enviar email acho que não funciona mais....vc deve pesquisar sobre a classe phpmailer. Compartilhar este post Link para o post Compartilhar em outros sites
matthee 3 Denunciar post Postado Fevereiro 23, 2013 Poxa, deveria funcionar por que está na documentação do php 5.3 :pinch: Compartilhar este post Link para o post Compartilhar em outros sites
rockrgo 138 Denunciar post Postado Fevereiro 23, 2013 é porque houve recentemente a troca da porta 25 pela 587. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Fevereiro 23, 2013 é porque houve recentemente a troca da porta 25 pela 587. Isso não se aplica a função mail, neste caso a configuração é realizada em outra parte do servidor, para a função mail continua tudo na mesma. Compartilhar este post Link para o post Compartilhar em outros sites
rockrgo 138 Denunciar post Postado Fevereiro 23, 2013 Isso não se aplica a função mail, neste caso a configuração é realizada em outra parte do servidor, para a função mail continua tudo na mesma. Então como faço para usar a função mail?, porque não to conseguindo mais usar não!!só pela phpmailer Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Fevereiro 23, 2013 Então como faço para usar a função mail?, porque não to conseguindo mais usar não!!só pela phpmailer Essas peguntas você tem que fazer ao suporte do seu servidor... pode ser que eles tenham barrado a função, só isso. Compartilhar este post Link para o post Compartilhar em outros sites
matthee 3 Denunciar post Postado Fevereiro 23, 2013 Eu estou utilizando aqui em casa, como que não está funcionando então ESerra? A sintaxe está correta. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Fevereiro 23, 2013 Eu estou utilizando aqui em casa, como que não está funcionando então ESerra? A sintaxe está correta. Você está usando em localhost? Instalou o servidor de e-mail? Testando diretamente por ele os e-mails estão sendo enviados? Você está usando windows ou linux? Compartilhar este post Link para o post Compartilhar em outros sites
matthee 3 Denunciar post Postado Fevereiro 23, 2013 Estou usando em localhost, uso Ubuntu 12.04 e não instalei o servidor de email não fazia a menor idéia de que isso era necessario. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Fevereiro 23, 2013 Estou usando em localhost, uso Ubuntu 12.04 e não instalei o servidor de email não fazia a menor idéia de que isso era necessario. Pois é... então ai é você tem que fazer a configuração do servidor local (conseguindo usar a função mail) ou pode usar alguma classe para se conectar a um servidor de e-mail externo e enviar por ele. Compartilhar este post Link para o post Compartilhar em outros sites
matthee 3 Denunciar post Postado Fevereiro 24, 2013 como faço para fazer a configuração do servidor local para mandar email? Compartilhar este post Link para o post Compartilhar em outros sites