FÅ 3000 KR NU ENKELT FÖR STADENS BOR HÄMTA NU
kithoof.pages.dev


Implementera bilduppladdningar i PHP-formulär

För att möjliggöra bilduppladdningar via ett PHP-formulär kräver både HTML-formulärstrukturen och PHP-serverns skript specifika konfigurationer.

Inställning av HTML-formulär

Exempel på HTML-formulär:

<form action="upload_image.php" method="post" enctype="multipart/form-data"> 
Välj bild att ladda upp: 
<input type="file" name="fileToUpload" id="fileToUpload"> 
<input type="submit" value="Ladda upp bild" name="submit"> 
</form>

PHP Server-Side Processing

På servern hanterar PHP den uppladdade filen med den superglobala arrayen $_FILES.

Exempel PHP-skript (upload_image.php):

<?php 
$target_dir = "uppladdningar/"; // Katalog där bilderna kommer att sparas 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["namn"]); 
$uploadOk = 1; 
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); 

// Kontrollera om bildfilen är en verklig bild eller falsk bild 
if(isset($_POST["skicka"])) { 
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
if($check !== false) { 
// "Filen är en bild - " . $check["mime"] . "." 
$uploadOk = 1; 
} annat { 
// "Filen är inte en bild." 
$uploadOk = 0; 
} 
} 

// Kontrollera om filen redan finns 
if (file_exists($target_file)) { 
// "Tyvärr, filen finns redan." 
$uploadOk = 0; 
} 

// Kontrollera filstorleken (t.ex. gränsen 5 MB) 
if ($_FILES["fileToUpload"]["size"] > 5000000) { 
// "Tyvärr, din fil är för stor." 
$uploadOk = 0; 
} 

// Tillåt vissa filformat 
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
&& $imageFileType != "gif" ) { 
// "Tyvärr, endast JPG-, JPEG-, PNG- och GIF-filer är tillåtna." 
$uploadOk = 0; 
} 

// Kontrollera om $uploadOk är satt till 0 av ett fel 
if ($uploadOk == 0) { 
// "Tyvärr, din fil laddades inte upp." 
// om allt är ok, försök att ladda upp filen 
} annat { 
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
// "Filen". htmlspecialchars( basename( $_FILES["fileToUpload"]["namn"])). "har laddats upp." 
// Här skulle du vanligtvis spara $target_file-sökvägen till din databas 
} annat { 
// "Tyvärr, det uppstod ett fel när din fil laddades upp." 
} 
} 
?>

Jämföra strategier för bildlagring

Strategi Proffs Nackdelar Databaskonsekvenser
Lagra bildfiler på server (och sökväg i DB)
    • Optimerad filvisning av webbserver.
    • Skalbar för många bilder.
    • Mindre databasstorlek, snabbare säkerhetskopiering.
    • Kräver hantering av ett filsystem.
    • Filer kan bli osynkroniserade med databasen om de inte hanteras försiktigt.
    • Komplexitet för säkerhetskopiering involverar både DB och filsystem.
Lagrar endast filsökväg (t.ex. VARCHAR(255)).
Lagra bilddata direkt i databasen (BLOB)
    • Enklare säkerhetskopieringsprocess (enkel databassäkerhetskopiering).
    • Enklare dataintegritet; bild och metadata är tillsammans.
    • Bra för mycket små, kritiska bilder.
    • Ökar databasstorleken avsevärt.
    • Långsammare databasprestanda på grund av stor BLOB-hämtning.
    • Högre serverminne/CPU-användning för bildvisning.
    • Databasen blir mindre portabel.
Lagrar binär data (t.ex. BLOB, MEDIUMBLOB, LONGBLOB).

Copyright ©kithoof.pages.dev 2026