Hallo,
ich habe aktuell ein kleines Problem mit meinem Code der zum Bilder hochladen dient. Das hochladen von Bilddateien an sich funktioniert super. Doch bei manchen Bildern kommt selten folgende Fehlermeldung:
Warning: exif_imagetype(): Filename cannot be empty in /Library/WebServer/Documents/PHPversion/Bilder_upload.php on line 39
Nur der Upload von Bilddateien ist gestattet
Hier der dazugehörige Code :)
Hat einer ne Ahnung was ich tun kann um das Problem zu beheben. Ich habs bei mir im Code schon im Kommentar stehen aber wie genau gehe ich hier bei vor ?
ich habe aktuell ein kleines Problem mit meinem Code der zum Bilder hochladen dient. Das hochladen von Bilddateien an sich funktioniert super. Doch bei manchen Bildern kommt selten folgende Fehlermeldung:
Warning: exif_imagetype(): Filename cannot be empty in /Library/WebServer/Documents/PHPversion/Bilder_upload.php on line 39
Nur der Upload von Bilddateien ist gestattet
Hier der dazugehörige Code :)
Code:
<?php
error_reporting(E_ALL);
session_start();
if(!isset($_SESSION['userid'])) {
die('Bitte zuerst <a href="Mac_Version1.php">einloggen</a>');
}
$userid = $_SESSION['userid'];
if(!isset($_SESSION['userprofilbild'])) {
echo "";
}
$Kategorie = $_POST["Kategorie"];
if ($Kategorie == "0") {
die ("<p style='font-family: Raleway; color: red; font-size: 30px;'>Bitte Kategorie auswählen, zurück zur <a href='loogin.php'>Startseite</a></p>");
}
if ($Kategorie == "Lifestyle") {
$upload_folder = 'upload/'; //Das Upload-Verzeichnis
$filename = "bild_user".$userid.$Kategorie;
$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 = 4000*1024; //4000 MB
if($_FILES['datei']['size'] > $max_size) {
die("Bitte keine Dateien größer 4mb 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.$Anzahl.'.'.$extension;
$Anzahl++;
} while(file_exists($new_path));
}
?>
<?php
// Bildtitel ist neu
$Bildtitel = $_POST["Bildtitel"];
$pdo = new PDO('mysql:host=localhost;dbname=Datenbank_NEU', 'root', 'lehar456');
$statement = $pdo->prepare("INSERT INTO bildtabelle (id ,user_id, bildtitel, path, lifestyle, mode, sport, politik, timestamp) VALUES (NULL, '$userid', '$Bildtitel', '$new_path', '$new_path', '', '', '', CURRENT_TIMESTAMP)");
$statement->execute();
?>
<?php
//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo '<p style="font-family: Raleway;">Bild erfolgreich hochgeladen, zurück zur <a href="loogin.php">Startseite</a></p>';
}
if ($Kategorie == "Mode") {
$upload_folder = 'upload/'; //Das Upload-Verzeichnis
$filename = "bild_user".$userid.$Kategorie;
$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 = 4000*1024; //4000 MB
if($_FILES['datei']['size'] > $max_size) {
die("Bitte keine Dateien größer 4mb 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.$Anzahl.'.'.$extension;
$Anzahl++;
} while(file_exists($new_path));
}
?>
<?php
// Bildtitel ist neu
$Bildtitel = $_POST["Bildtitel"];
$pdo = new PDO('mysql:host=localhost;dbname=Datenbank_NEU', 'root', 'lehar456');
$statement = $pdo->prepare("INSERT INTO bildtabelle (id ,user_id, bildtitel, path, lifestyle, mode, sport, politik, timestamp) VALUES (NULL, '$userid', '$Bildtitel', '$new_path', '', '$new_path', '', '', CURRENT_TIMESTAMP)");
$statement->execute();
?>
<?php
//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo '<p style="font-family: Raleway;">Bild erfolgreich hochgeladen, zurück zur <a href="loogin.php">Startseite</a></p>';
}
if ($Kategorie == "Sport") {
$upload_folder = 'upload/'; //Das Upload-Verzeichnis
$filename = "bild_user".$userid.$Kategorie;
$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 = 4000*1024; //4000 MB
if($_FILES['datei']['size'] > $max_size) {
die("Bitte keine Dateien größer 4mb 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.$Anzahl.'.'.$extension;
$Anzahl++;
} while(file_exists($new_path));
}
?>
<?php
// Bildtitel ist neu
$Bildtitel = $_POST["Bildtitel"];
$pdo = new PDO('mysql:host=localhost;dbname=Datenbank_NEU', 'root', 'lehar456');
$statement = $pdo->prepare("INSERT INTO bildtabelle (id ,user_id, bildtitel, path, lifestyle, mode, sport, politik, timestamp) VALUES (NULL, '$userid', '$Bildtitel', '$new_path', '', '', '$new_path', '', CURRENT_TIMESTAMP)");
$statement->execute();
?>
<?php
//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo '<p style="font-family: Raleway;">Bild erfolgreich hochgeladen, zurück zur <a href="loogin.php">Startseite</a></p>';
}
if ($Kategorie == "Politik") {
$upload_folder = 'upload/'; //Das Upload-Verzeichnis
$filename = "bild_user".$userid.$Kategorie;
$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 = 4000*1024; //4000 MB
if($_FILES['datei']['size'] > $max_size) {
die("Bitte keine Dateien größer 4mb 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.$Anzahl.'.'.$extension;
$Anzahl++;
} while(file_exists($new_path));
}
?>
<?php
// Bildtitel ist neu
$Bildtitel = $_POST["Bildtitel"];
$pdo = new PDO('mysql:host=localhost;dbname=Datenbank_NEU', 'root', 'fisch456');
$statement = $pdo->prepare("INSERT INTO bildtabelle (id ,user_id, bildtitel, path, lifestyle, mode, sport, politik, timestamp) VALUES (NULL, '$userid', '$Bildtitel','$new_path', '', '', '', '$new_path', CURRENT_TIMESTAMP)");
$statement->execute();
?>
<?php
//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo '<p style="font-family: Raleway;">Bild erfolgreich hochgeladen, zurück zur <a href="loogin.php">Startseite</a></p>';
}
?>
Hat einer ne Ahnung was ich tun kann um das Problem zu beheben. Ich habs bei mir im Code schon im Kommentar stehen aber wie genau gehe ich hier bei vor ?