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

(Resolvido) Não consigo fazer o formulário subir a imagem


betofc

Pergunta

Olá pessoal! Aprendi PHP há pouco tempo e preciso que alguém me ajude: fiz uma página HTML (formulario.html) na qual existe o seguinte form:

=====================================

<form enctype="multipart/form-data" action="[b]receber.php[/b]" method="post">
       <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
       Envie este arquivo: <input type="file" name="arqUsuario" /> <br />
       <input type="submit" value="Enviar arquivo" />			
</form>
===================================== E a receber.php está da seguinte maneira: =====================================
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['arqUsuario']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['arqUsuario']['tmp_name'], $uploaddir . $_FILES['arqUsuario']['name')) {
    print "O arquivo é valido e foi carregado com sucesso. Aqui esta alguma informação:\n";
    print_r($_FILES);
} else {
    print "Possivel ataque de upload! Aqui esta alguma informação:\n";
    print_r($_FILES);
}
print "</pre>";

=====================================

E a seguir o erro que o navegador envia:

=====================================

Warning: move_uploaded_file(/var/www/uploads/) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\xampp\htdocs\xampp\EnvArq\receber.php on line 23

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\xampp\tmp\php59.tmp' to '/var/www/uploads/' in C:\xampp\htdocs\xampp\EnvArq\receber.php on line 23

Possivel ataque de upload! Aqui esta alguma informação:

Array

(

[arqUsuario] => Array

(

[name] => renault_scenic.jpg

[type] => image/pjpeg

[tmp_name] => C:\xampp\tmp\php59.tmp

[error] => 0

=> 20195

)

)

==================================

Eu peguei este código no PHP.net. Eu entendi bem o código! Não entendo mesmo o que está errado...

Aqui em casa eu uso o XAMPP. A pasta que eu criei, na qual estão o HTML (formulario.html), o PHP (receber.php) é C:\xampp\htdocs\xampp\EnvArq, e de acordo com o script o arquivo "subido" deveria ir para C:\xampp\htdocs\xampp\EnvArq\var\www\uploads\ . Não é?

Obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O primeiro erro está aqui:

if (move_uploaded_file($_FILES['arqUsuario']['tmp_name'], $uploaddir . $_FILES['arqUsuario']['name')) {

Repare que faltou fechar uma chave:

if (move_uploaded_file($_FILES['arqUsuario']['tmp_name'], $uploaddir . $_FILES['arqUsuario']['name'])) {

O segundo:

/var/www/uploads/ é um diretório do Linux.

Você precisará adequar seu script com o caminho correto para que funcione legal.

O caminho pode ser relativo, não precisa ser absoluto como esse aí.

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...