Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?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.
Esse modo de enviar email acho que não funciona mais....vc deve pesquisar sobre a classe phpmailer.
Poxa, deveria funcionar por que está na documentação do php 5.3 :pinch:
é porque houve recentemente a troca da porta 25 pela 587.
é 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.
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
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.
Eu estou utilizando aqui em casa, como que não está funcionando então ESerra? A sintaxe está correta.
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?
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.
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.
como faço para fazer a configuração do servidor local para mandar email?
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!