Mike: PhP bilder upload + URL in sql DB

Beitrag lesen

Servus!

Ich würde gerne aus einem Formular heraus einen Bilderupload zulassen. Nun kam ich auf die idee via BLOB bilder in die DB zu speichern, was aber anscheinend nicht sonderlich toll ist. Darum würde ich gerne versuchen das Bild ins filesystem zu laden und die url in die DB zu setzen. Aber ich glaube ich habe einige verständniss probleme, vllt könnt ihr mir helfen:

Beispiel Script von php.net:

  
$uploaddir = '/var/www/uploads/';  
$uploadfile = $uploaddir. basename($_FILES['userfile']['name']);  
print "<pre>";  
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {  
    print "File is valid, and was successfully uploaded.";  
    print "Here's some more debugging info:\n";  
    print_r($_FILES);  
} else {  
    print "Possible file upload attack!  Here's some debugging info:\n";  
    print_r($_FILES);  
}  
print "</pre>";  
  
?>  

$uploaddir -> wie wird diese genau definiert? Bzw wenn ich ein Ordner, am selben ort mache wie das script laufen soll, kann ich dann einfach "ordner/" eintragen?

mit dem move_uploaded_file wird das bild aus dem tmp verzeichnis in meinen ordner hinein verschoben, kann ich also vorher noch einige bedingungen setzen, zB solche ergänzungen:

if($_FILES['userfile']['size']>10000 || $_FILES['userfile']['size']==0){
  echo "ERROR";
}else{
 // Hier käme das move uploaded rein
}

Wäre sowas richtig?

Bezüglich der URL, wo bekomme ich die her? Ich will ja in eine DB eine Id den Namen und die url speichern. Aber wo bekomme ich die url eig. her?

Die Inserts in die DB kämen dementsprechend auch ins obige else oder? Denn der move_uploaded_file befehl wird ja nur ausgeführt fals keine errors auftreten.

Habe ich das in etwa richtig verstanden?