Filupload med PHP

Her er et eksempel på en upload funktion lavet i PHP:

<?php
#Læs variable fra post
$MAX_FILE_SIZE = $_POST[“MAX_FILE_SIZE”];
$task = $_POST[“task”];
$art = $_POST[“art”];
$userfile = $_FILES[‘userfile’][‘name’];
$userfiletmp = $_FILES[‘userfile’][‘tmp_name’];

$the_path = “/home/brugernavn/tmp/”;

if ($_GET[“upload”] ==””)
{
print “\n<form ENCTYPE=\”multipart/form-data\” action=\”upload.php?upload=1\” method=\”post\”>”;
print “\n<INPUT TYPE=\”hidden\” name=\”MAX_FILE_SIZE\” value=\”” . $my_max_file_size . “\”>”;
print “\n<INPUT TYPE=\”hidden\” name=\”task\” value=\”upload\”>”;
print “\n<P>Upload en file”;
print “\n<BR>NOTE: Max file size is ” . ($my_max_file_size / 1024) . “KB”;
print “\n<br><input type=\”file\” name=\”userfile\” SIZE=\”30\”><br>”;
print “\n<input type=\”submit\” Value=\”Upload\”>”;
print “\n</form>”;
}
else
{

if (is_uploaded_file($_POST[‘userfile’][‘tmp_name’]))
{
print “temp fil er uploadet”;
}

if ($userfile != “”)
{
if (!copy($userfiletmp, “/home/brugernavn/tmp/”.$userfile))
{
print “FEJL!. Upload mislykkedes!”;
}
else
{
print “Tillykke! Filen er nu uploadet.”;
}
}
}
?>

Forklaring til eksemplet
Upload funktionen i PHP fungerer på den måde, at når der uploades, gemmer PHP automatisk filen som en midlertidig fil (temp-fil). PHP tildeler også selv denne temp-fil et navn. For at beholde den uploadede fil skal du tage en kopi af denne temp-fil. Serveren sletter automatisk temp-filen når scriptet er færdigt med at køre.

Vigtigt! – læs venligst nedenstående
Gem ovenstående kode i en fil og kald den upload.php.
Opret et bibliotek der hedder /log/ (via ftp) hvor den uploadede temp fil skal gemmes i. Tildel dette bibliotek skriverettigheder CHMOD 777 (brug CHMOD i FTP programmet).