Upload de Arquivos em PHP

Publicado por Ricardo Landim 13/01/2003

[ Hits: 30.894 ]

Download upload.zip




Upload simples de arquivos em PHP. Dependo da versão do seu PHP você deve fazer algumas modificações.

  



Esconder código-fonte

<?
// UPLOAD DE ARQUIVOS EM PHP
// +----------------------------------------------------------------------+
// | Upload Script  v1.0                                                  |
// +----------------------------------------------------------------------+
// | GNU License                                                          |
// | Esse script está livre para modificação e distribuição deste de que  |
// | o autor seje notificado por e-mail.                                  |
// |                                                                      |
// | Este codigo é simples porem util, em sua versão completa todo o      |
// | codigo é orientado a objetos e tem algumas funções extras.           |
// |                                                                      |
// | Em breve novas versões serão desenvolvidas e disponibilizadas        |
// +----------------------------------------------------------------------+
// | Autor: Ricardo Landim <ricardo@paracatu.com>                         |
// +----------------------------------------------------------------------+
//
//Arquivo: upload.php # 16:58:10 - 02/01/2003  powered by PHP
//
?>

<html><head>
<title>Upload em PHP</title>
</head>
<body>
<?
$save_path="/diretorio/onde/deve/salvar/";
if (isset($upload)){
// No PHP anterior a 4.1.0, $HTTP_POST_FILES  deve ser usado ao invés de $_FILES.
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    copy($_FILES['userfile']['tmp_name'], $save_path . $_FILES['userfile']['name']);
    echo "O arquivo foi salvo em " . $save_path . $_FILES['userfile']['name'];
} else {
    echo "Impossivel fazer o Upload do arquivo.";
}
echo "<BR><BR><a href=\"" . $PHP_SELF . "\">Clique aqui para enviar mais arquivos.</a>";
}else{
?>
<form enctype="multipart/form-data" action="<?=$PHP_SELF;?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
<input type="hidden" name="upload" value="1">
<!--MAX_FILE_SIZE é o tamanho maximo do arquivo para o navegador em Kb
que pode ser manipulado, já o tamanho maxima no php.ini do PHP é fixo-->
Arquivo: <input name="userfile" type="file">
<input type="submit" value="Enviar Arquivo">
</form>
<?
}
?>
</body>
</html>

Scripts recomendados

RandomBanner - Classe para mostrar banner aleatório em imagem ou flash

Redimensionando imagens com PHP

Paginação com qualidade em PHP

ShRBann

Squid - Bloqueio e liberação de páginas em PHP


  

Comentários
[1] Comentário enviado por [IG]_D-TOX em 26/09/2003 - 10:24h

Vou experimentar mas parece estar fixe, obrigado

[2] Comentário enviado por aleotavares em 23/03/2005 - 03:04h

testei o script no servidor local, e funcionou bem, ja no servidor brtdata não funcionou, não aparece mensagem alguma! O que pode ser?? Ah, testei as duas formas de variavel! por favor responda!

[3] Comentário enviado por ricardo em 28/03/2005 - 11:54h

Verifique com o pessoal do suporte dos servidores se eles permitem uploads de arquivos via PHP. Alguns servidores web baram esse tipo de procedimento. O arquivo também pode ser muito grande, ou seja, o pessoal do servidor deve ter configurado uploads de arquivos de no maximo 1Mb... isso pode variar claro mas as duas causas de erro podem ser essas... O melhor a fazer e mandar um email para o pessoal do suporte pra ver se eles permitem uploads via php e qual o tamanho maximo do arquivo!!! Qualquer outra duvida posta aqui de novo blz...

Um abraço
Ricardo Landim

[4] Comentário enviado por malaguti em 08/01/2008 - 09:03h

Ricardo, obigado pelo script. Para mim foi de grande ajuda. Parabéns

Valeu :)

[5] Comentário enviado por quartodazona em 30/08/2010 - 01:56h

Caríssimo, já alterei as linhas no meu php.ini para o valores abaixo, mas eu continuo só upando arquivos de 8M no máximo.

php.ini -> upload_max_filesize = 8000M
php.ini -> post_max_size = 8000M
php.ini -> max_execution_time = 3000

Abração.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts