01
av 06
01
av 06
HTML-formuläret
Om du vill tillåta besökare på din webbplats att ladda upp filer till din webbserver, måste du först använda PHP för att skapa ett HTML-formulär som låter människor ange vilken fil de vill ladda upp. Även om koden är samlad senare i den här artikeln (tillsammans med några varningar om säkerhet), bör den här delen av koden se ut så här:
Välj en fil:
av 06
Ladda upp filen
Själva filuppladdningen är enkel. Denna lilla kodbit laddar upp filer som skickas till den via ditt HTML-formulär.
$target = ”ladda upp/”;
$target = $target . basnamn( $_FILES ['name']) ;
$ok=1; if(move_uploaded_file($_FILES ['tmp_name'], $target))
{
echo ”Filen”. basnamn( $_FILES['uploadedfile']['name']). ”har laddats upp”;
}
annat {
echo ”Tyvärr, det uppstod ett problem när du laddade upp din fil.”;
}
Den första raden
$target = ”ladda upp/”;är där du tilldelar mappen där filerna laddas upp. Som du kan se på den andra raden är den här mappen relativ till upload.php fil. Om din fil finns på www.yours.com/files/upload.php, skulle den ladda upp filer till www.yours.com/files/upload/yourfile.gif. Kom ihåg att skapa den här mappen.
03
av 06
Begränsa filstorleken
Du kanske vill begränsa storleken på filer som laddas upp till din webbplats. Om du antar att du inte ändrade formulärfältet i HTML-formuläret – så det heter fortfarande ”uppladdat” – kontrollerar den här koden för att se storleken på filen. Om filen är större än 350k får besökaren felet ”filen för stor” och koden sätter $ok till lika med 0.
”;
För Den här koden kontrollerar till exempel att besökaren inte laddar upp en PHP-fil till din webbplats. Om det är en PHP-fil får besökaren ett felmeddelande och $ok sätts till 0.
if ($uploaded_type ==”text/php”)
{
eko ”Inga PHP-filer
I det här andra exemplet tillåts endast GIF-filer laddas upp till webbplatsen, och alla andra typer får ett felmeddelande innan $ok ställs in på 0.
if (!($uploaded_type==”image/gif”)) {
eko ”Du får bara ladda upp GIF-filer.
”;
}
05
av 06
Lägger du ihop allt får du detta:
$ok=1;
}
//Detta är vårt begränsningsvillkor för filtyp
if ($uploaded_type ==”text/php”)
//Här kontrollerar vi att $ok inte var satt till 0 av ett fel
if ($ok==0)
Echo ”Tyvärr, din fil laddades inte upp”;
}
annan
{
{
echo ”Filen”. basnamn( $_FILES['uploadedfile']['name']). ”har laddats upp”;
}
annan
{
eko ”Förlåt , det gick inte att ladda upp din fil.”;}
}
?>
Innan du lägger till den här koden på din webbplats måste du förstå säkerhetskonsekvenserna som beskrivs på nästa skärm.
av 06
Slutliga tankar om säkerhet
Om du tillåter filuppladdningar lämnar du dig själv öppen för folk som vill att lasta av oönskade saker. En klok försiktighetsåtgärd är att inte tillåta uppladdning av PHP-, HTML- eller CGI-filer som kan innehålla skadlig kod. Detta ger viss säkerhet, men det är inte säkert brandskydd.