Einzelnen Beitrag anzeigen
  #1  
Alt 06.04.2017, 22:05:53
ThisIsBeat ThisIsBeat ist offline
Anfänger
 
Registriert seit: Apr 2017
Alter: 30
Beiträge: 13
Dateipfad bei Upload in Datenbank abspeichern

Hallo,

da dies mein erster Beitrag in diesem Forum ist entschuldige ich mich schon mal vorab falls es zu kleineren Fehlern kommt was Regeln angeht :)

Hier erstmal mein Code:
PHP-Code:
<?php
session_start
();
if(!isset(
$_SESSION['userid'])) {
    die(
'Bitte zuerst <a href="Mac_Version1.php">einloggen</a>');
}
$userid $_SESSION['userid'];

$upload_folder 'upload3/'//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_PNGIMAGETYPE_JPEGIMAGETYPE_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)); 
}

//Alles okay, verschiebe Datei an neuen Pfad
move_uploaded_file($_FILES['datei']['tmp_name'], $new_path);
echo 
'Bild erfolgreich hochgeladen, zur&uumlck zur <a href="loogin.php">Startseite</a>';
?>
So und nun zu meinem Problem :) Was ihr hier seht ist ein Script das ich selbst geschrieben habe und mit dem es möglich ist Bilder hochzuladen und auf meiner Website anzeigen zu lassen. Das ganze funktioniert auch wirklich wunderbar und die Bilder werden wie gewollt in einem Ordner gespeichert. Soweit so gut.

Nun habe ich mir gedacht das es durchaus von Vorteil sein kann/könnte wenn der Dateipfad des Bildes zusätzlich in der Datenbank abgespeichert werden würde, damit ich bzw. die Datenbank auch weiß welches Bild zu welchem User gehört.

Und genau an dieser Stelle habe ich Probleme. Jetzt mal ganz plump gefragt: Wie kann ich den Dateipfad aus dem Script (also $new_path) in meine Datenbank abspeichern ?

Mit diesem Code habe ich mein Glück versucht doch es hat nicht funktioniert :/
PHP-Code:
$pdo = new PDO('mysql:host=localhost;dbname=Datenbank_NEU''root''hase123');
$statement $pdo->prepare("INSERT INTO adressen (pfad) VALUES ('$new_path')");
$statement->execute(); 
PS: Die Spalte in die der Dateipfad($new_path) gespeichert werden soll heißt "pfad".

Hat jemand ne Idee und kann mir weiterhelfen ? :)
Mit Zitat antworten