FAQ e Tutoriais: Hospedagem de Sites > PHP
Como fazer upload de arquivos através do PHP?

Considere este script como exemplo:

[ PÁGINA HTML - upload.htm ]

<html>
<head>
<script type="text/javascript">
<!--
function teste(){
if (document.upload.arquivo.value=="") {
alert("Arquivo para upload não informado!")
document.upload.arquivo.focus()
return false
}
}
//-->
</script>
</head>
<body>
<h2>Upload Simples</h2><br>
<form name="upload" action="upload.php" method="post" enctype="multipart/form-data" onsubmit="return teste()">
<input type="file" name="arquivo" size="60">
<br>
<input type="submit" name="enviar" value="Upload!">
</form>
</body>
</html>

[ PÁGINA PHP - upload.php ]

<?

/* Defina aqui o tamanho máximo do arquivo em bytes: */
if($_FILES['arquivo']['size'] > 1024000) {
print "<SCRIPT> alert('Seu arquivo não poderá ser maior que 1mb'); window.history.go(-1); </SCRIPT>\n";
exit;
}

/* Defina aqui o diretório destino do upload */
if (!empty($_FILES['arquivo']['tmp_name']) and is_file($_FILES['arquivo']['tmp_name'])) {
$caminho="upload/";
$caminho=$caminho.$_FILES['arquivo']['name'];

/* Defina aqui o tipo de arquivo suportado */
if ((eregi(".gif$", $_FILES['arquivo']['name'])) || (eregi(".jpg$", $_FILES['arquivo']['name']))){
copy($_FILES['arquivo']['tmp_name'],$caminho);
//move_uploaded_file($_FILES['arquivo']['tmp_name'], $caminho . $_FILES['userfile']['name']);
print "<h1><center>Arquivo enviado com sucesso!</center></h1>";
}
else{
print "<h1><center>Arquivo não enviado!</center></h1>";
print "<h2><font color='#FF0000'><center>Caminho ou nome de arquivo Inválido!</center></font></h2>";
}
}
?>