- Registriert
- 02.02.16
- Beiträge
- 85
Hallo Community,
ich habe ein Datei-Upload-Script für Bilddateien geschrieben was soweit ganz gut funktioniert. Die Bilder werden hochgeladen und in einem Ordner abgespeichert. Doch ich würde das Script gerne in sofern erweitern das die hochgeladenen Bilder im Prinzip unterschiedliche Namen haben. Ich würde dafür ganz gerne einem hochgeladenem Bild die id des jeweiligen Users anhängen. Das ganze mit der Variable "$id".
Hier das Script:
Ich glaube es geht im wesentlichen um Zeile 3. Die Bilder werden zwar auch hochgeladen, jedoch besitzen alle Bilder den Namen "profilbild_user.jpg" und ich möchte das hinten noch die jeweilige id des Users angehangen wird.
Ich hoffe ihr versteht was ich meine und könnt mir eventuell helfen
ich habe ein Datei-Upload-Script für Bilddateien geschrieben was soweit ganz gut funktioniert. Die Bilder werden hochgeladen und in einem Ordner abgespeichert. Doch ich würde das Script gerne in sofern erweitern das die hochgeladenen Bilder im Prinzip unterschiedliche Namen haben. Ich würde dafür ganz gerne einem hochgeladenem Bild die id des jeweiligen Users anhängen. Das ganze mit der Variable "$id".
Hier das Script:
Code:
<?php
$upload_folder = 'upload/'; //Das Upload-Verzeichnis
$filename = "profilbild_user".$id;
$extension = strtolower(pathinfo($_FILES['datei']['name'], PATHINFO_EXTENSION));
//Überprüfung der Dateiendung
$allowed_extensions = array('png', 'jpg', 'jpeg', 'gif');
if(!in_array($extension, $allowed_extensions)) {
die("Ungültige Dateiendung. Nur png, jpg, jpeg und gif-Dateien sind erlaubt");
}
//Überprüfung der Dateigröße
$max_size = 500*1024; //500 KB
if($_FILES['datei']['size'] > $max_size) {
die("Bitte keine Dateien größer 500kb hochladen");
}
//Überprüfung dass das Bild keine Fehler enthält
if(function_exists('exif_imagetype')) { //Die exif_imagetype-Funktion erfordert die exif-Erweiterung auf dem Server
$allowed_types = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF);
$detected_type = exif_imagetype($_FILES['datei']['tmp_name']);
if(!in_array($detected_type, $allowed_types)) {
die("Nur der Upload von Bilddateien ist gestattet");
}
}
//Pfad zum Upload
$new_path = $upload_folder.$filename.'.'.$extension;
//Neuer Dateiname falls die Datei bereits existiert
if(file_exists($new_path)) { //Falls Datei existiert, hänge eine Zahl an den Dateinamen
$Anzahl = 1;
do {
$new_path = $upload_folder.$filename.'_'.$id.'.'.$extension;
$id++;
} while(file_exists($new_path));
}
//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo 'Bild erfolgreich hochgeladen: <a href="'.$new_path.'">'.$new_path.'</a>';
?>
Ich glaube es geht im wesentlichen um Zeile 3. Die Bilder werden zwar auch hochgeladen, jedoch besitzen alle Bilder den Namen "profilbild_user.jpg" und ich möchte das hinten noch die jeweilige id des Users angehangen wird.
Ich hoffe ihr versteht was ich meine und könnt mir eventuell helfen
