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

(Resolvido) Upload de arquivo


Guest --Vinícius --

Pergunta

Guest --Vinícius --

Olá pessoal, já encontrei mtas dicas na internet, mas até agora nenhuma funcionou...

A intensão é fazer um sistema que envie um arquivo para o servidor...

O mais próximo que consegui me apresentou os seguintes erros:

Warning: move_uploaded_file(./"endereço"...) [function.move-uploaded-file]: failed to open stream

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php5AIqY7' to "endereço"

Por favor.... alguém sabe me ajudar com o erro ou pode me ajudar a fazer um novo q funcione!!

Agradeço muito a quem puder me ajudar!!

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

O próprio exemplo do manual funciona.

Formulário:

<form enctype="multipart/form-data" action="_URL_" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Send this file: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
Action do formulário:
<?php
// Nas versões do PHP anteriores a 4.1.0, deve ser usado $HTTP_POST_FILES
// ao invés de $_FILES.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['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>";
?>

Observações, no formulário você tem que substituir _URL_ pelo nome que você der para a página que vai ser o action do formulário...

Tem que configurar isso aqui também:

$uploaddir = '/var/www/uploads/';

Ali você tem que especificar qual a pasta que em que serão salvos os arquivos e essa pasta tem que ter as devidas permissões (no caso de servidor linux).

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Vinícius --

eu fiz o que você postou.. ele não fez upload e apareceu a seguinte mensagem:

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

Array

(

[userfile] => Array

(

[name] => teste.bmp

[type] =>

[tmp_name] =>

[error] => 2

=> 0

)

)

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Vinícius --
Como eu disse, esse exemplo é funcional. O servidor é windows ou linux? Se for linux você deu as permissões para a pasta? Configurou de forma correta a variável $uploaddir?

a variável eu defini assim:

$uploaddir = '/home/"meusite"/www/temp/';

quanto as permissões, quais devem ser elas para q eu possa defini-las?

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Vinícius --

amigo, obrigado pela ajuda, mas não funcionou..

eu já dei todas as permissões possiveis (read, write, execute) e mesmo assim continua dando aquela mensagem ao clica no botão de upload.. quanto as aspas foi apenas "ilustrativo"

alguém sabe me ajudar??? desde já eu agradeço!!

Link para o comentário
Compartilhar em outros sites

  • 0

Ainda estou aprendendo o php mas vou tentar ajudar , no erro que representou no seu

primeiro post me deu a impressão de que o upload foi concluido perfeitamente na pasta

temporária porem no momento de mover para o destino final o sistema "brecou" , me

parece que realmente é um problema de permissão tanto de gravação ou até tipo de

arquivo .

Link para o comentário
Compartilhar em outros sites

  • 0
Guest BetoBituca

Caros....

Estou com o mesmo problema...

O sistema esta instalado em um servidor Windows 2003 e roda no IIS.

já tentei de tudo e a resposta é a mesma

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

Array

(

[arquivo] => Array

(

[name] => eu.png

[type] => image/x-png

[tmp_name] => C:\WINDOWS\Temp\php1.tmp

[error] => 0

=> 500511

)

)"

vocês conseguiram alguma solução???? Pelo amor de deus..... :blink:

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Vinícius --

POR FAVOR, AJUDEM!!

EU já DEI ACESSO DE LEITURA, ESCRITA E EXECUÇÃO, MAS NÃO FUNCIONA!!

ALGUÉM SABE A SOLUÇÃO?

ALGUÉM SABE ALGUMA OUTRA MANEIRA DE FAZER UPLOAD?

EU NÃO CONSIGO ENCONTRAR EM NENHUM LUGAR!!

POR FAVOR!!! muito OBRIGADO!!

Link para o comentário
Compartilhar em outros sites

  • 0

Caro usuário, em primeiro lugar UPs não são permitidos.

Quanto ao problema, o script está perfeito, mas existem duas observações:

1 - A linha do formulário:

<input type="hidden" name="MAX_FILE_SIZE" value="30000" />

Se você enviar um arquivo maior do que especificado ali no value (e lembre-se que o tamanho está em bytes) vai dar erro, se você remove ressa linha o padrão passará a ser o máximo do PHP.

2 - Se você enviar um arquivo maior do que o especificado no php.ini também vai dar o mesmo erro.

Para ver o tamanho máximo de envio de arquivo utilize a função phpinfo, e procure lá por max input ou algo do gênero...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Vinícius --

Olá amigo... desculpa pela ignorância... mas agora este seu ultimo recado esclareceu o problema... eu estava enviando um arquivo com tamanho maior!... Agora funcionou!! muito obrigado!! agradeço pela atenção, pela paciência e principalmente pela disponibilidade!

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,2k
    • Posts
      652,1k
×
×
  • Criar Novo...