Dank euch.
Hab hier aber noch was:
Und zwar beim DB-Eintrag erzeugen über ein Formular, gebe ich die Möglichkeit ein Bild hochzuladen. Dieses Bild bekommt einen Dateinamen
der wiefolgt zusammen setzt "ename-id.ext"
Da ich ja die ID für den gerade erstellen Eintrag erst dann bekomme wenn er erzeugt wurde, lese ich die zuletzt erzeugt ID aus und packe diese dann in den Dateinamen.
Beispiel
ID 40 wird erzeugt. Durch die Generierung des Dateinamens und das Abspeichern wird die ID 41 erzeugt. Ich möchte aber den Dateinamen in ID 40 im entsprechenden Feld/Spalte ablegen.
Wie kann ich dies gewährleisten?
Dann hätte ich noch folgendes:
Ich möchte den Speicherort per Variable festlegen.
Aber meine bisherigen Versuche den Code zu ändern
verursachte nur eine Änderung des Dateinamens. Vermutlich ist das mit dem Befehl copy($_FILES["upfile"]["tmp_name"],'pics/'.$name); nicht ganz der richtige weg. In der Detailansicht meiner Einträge soll dann das gespeicherte bild aufgerufen werden.
Hier noch mein Code der gesamten Datei:
PHP-Code:
//SQL-Login
include("sql_login.php");
//Daten in SQL schreiben
if (isset($_POST["submit"]))
{
$sqlab = "insert db";
$sqlab .= "(ename, hfn, hsn, hst, hzip, hcity, vfn, vsn, vst, vzip, vcity, date, time, member, pprice, bprice, descr) values";
$sqlab .= "('".$_POST["ename"]."','".$_POST["hfn"]."','".$_POST["hsn"]."','".$_POST["hst"]."','".$_POST["hzip"]."','".$_POST["hcity"]."',";
$sqlab .= "'".$_POST["vfn"]."','".$_POST["vsn"]."','".$_POST["vst"]."','".$_POST["vzip"]."','".$_POST["vcity"]."',";
$sqlab .= "'".$_POST["date"]."','".$_POST["time"]."','".$_POST["member"]."','".$_POST["pprice"]."','".$_POST["bprice"]."','".$_POST["descr"]."')";
mysql_query($sqlab);
//Letzte ID auslesen
$lid = mysql_insert_id();
//Aus Ename Leerzeichen entfernen
$evn = str_replace(' ','-',$_POST["ename"]);
//Dateierweiterung extrahieren und Dateinamen erzeugen
$exto = explode(".",$_FILES["upfile"]["name"]);
$dnamesize = count($exto);
$extn = $exto[$dnamesize-1];
$name = $evn."-ID"."$lid".".$extn";
//Datei unter variablen Dateinamen speichern
copy($_FILES["upfile"]["tmp_name"],'pics/'.$name);
//Pfad speichern
$sqlab2 = "insert db (fpath) values ('pics/$name')";
mysql_query($sqlab2);
$num = mysql_affected_rows();
if ($num>0)
{
echo "<font color='#00aa00'>";
echo "Es wurde 1 Datensatz hinzugefügt<p>";
echo "Sie werden in 5 Sekunden weitergeleitet<br>";
echo "</font>";
echo '<meta http-equiv="refresh" content="5; URL=./index.php">';
}
else
{
echo "<font color='#ff0000'>";
echo "Es ist ein Fehler aufgetreten, ";
echo "es wurde kein Datensatz hinzugefügt<p>";
echo "</font>";
}
}