http://www.oxpus.de/viewtopic.php?f=14&t=9791
habe ich noch ein kleineres Problem:
Ich gebe die Daten hier ein
foerslag.php
Die Daten werden an
lagra.php
übergeben und in der DB gespeichert und nochmal zur Bestätigung angezeigt.
Code: Alles auswählen
mysql_query("INSERT INTO mat_restaurant (`name`, `type`, `ort`, `telefon`, `adress`, `speciality`, `mattider`, `createdby`, `hemsida`, `parkering`, `kommentar`) VALUES
('$name', '$type', '$ort', '$telefon', '$adress', '$speciality', '$mattider', 'Holger', '$hemsida', '$parkering', '$kommentar')
") || die(mysql_error());
$mat_id = mysql_insert_id();
upload.php?mat_id=24
Code: Alles auswählen
echo('<a href="upload.php?mat_id='.$mat_id.'">Klicka här</a> för att ladda upp bilder.');
Ich möchte einen Ordnernamen = ID anlegen und dort die Bilder reinladen.
Das geht, wenn ich die ID statisch eingebe, aber nicht per $mat_id
Irgendwo habe ich einen kleinen Fehler und finde ihn nicht.
Code: Alles auswählen
<?php
error_reporting(E_ALL);
// Funktionen definieren
// -----------------------------------------------
function checkUpload($myFILE, $file_extensions, $mime_types, $maxsize)
{
$errors = array();
// Uploadfehler prüfen
switch ($myFILE['error']){
case 1: $errors[] = "Bitte wählen Sie eine Datei aus, die <b>kleiner als ".ini_get('upload_max_filesize')."</b> ist.";
break;
case 2: $errors[] = "Bitte wählen Sie eine Datei aus, die <b>kleiner als ".$maxsize/(1024*1024)." MB</b> ist.";
break;
case 3: $errors[] = "Die Datei wurde nur teilweise hochgeladen.";
break;
case 4: $errors[] = "Es wurde keine Datei ausgewählt.";
return $errors;
break;
default : break;
}
// MIME-Type prüfen
if(count($mime_types)!=0 AND !in_array(strtolower($myFILE['type']), $mime_types)){
$fehler = "Falscher MIME-Type (".$myFILE['type'].").<br />".
"Erlaubte Typen sind:<br />\n";
foreach($mime_types as $type)
$fehler .= " - ".$type."\n<br />";
$errors[] = $fehler;
}
// Dateiendung prüfen
if($myFILE['name']=='' OR (count($file_extensions)!=0 AND !in_array(strtolower(getExtension($myFILE['name'])), $file_extensions))){
$fehler = "Falsche Dateiendung (".getExtension($myFILE['name']).").<br />".
"Erlaubte Endungen sind:<br />\n";
foreach($file_extensions as $extension)
$fehler .= " - ".$extension."\n<br />";
$errors[] = $fehler;
}
// Dateigröße prüfen
if($myFILE['size'] > $maxsize){
$errors[] = "Datei zu groß (".sprintf('%.2f',$myFILE['size']/(1024*1024))." MB).<br />".
"Erlaubte Größe: ".$maxsize/(1024*1024)." MB\n";
}
return $errors;
}
// gibt die Dateiendung einer Datei zurück
function getExtension ($filename)
{
if(strrpos($filename, '.'))
return substr($filename, strrpos($filename, '.')+1);
return false;
}
// erzeugt einen Zufallswert
function getRandomValue()
{
return substr(md5(rand(1, 9999)),0,8).substr(time(),-6);
}
// erzeugt einen neuen Dateinamen aus Zufallswert und
// Dateiendung
function renameFile ($filename)
{
return getRandomValue().".".getExtension($filename);
}
// Werte zur Dateiprüfung initialisieren
// -----------------------------------------------
$maxsize = 2*1024*1024;
$file_extensions = array('jpg', 'jpeg', 'jpe', 'gif', 'png');
$mime_types = array('image/pjpeg', 'image/jpeg', 'image/gif', 'image/png', 'image/x-png');
// Upload-Ordner definieren
// -----------------------------------------------
$mat_id = $_POST['mat_id'];
$pfad = "var/www/vhosts/maskinisten.net/httpdocs/mat/bilder";
$ordner = "/$pfad/$mat_id/";
// Anzahl Dateifelder festlegen
// -----------------------------------------------
$anzahl_dateifelder = 5;
// Beginn des Skriptes
// -----------------------------------------------
// Falls der Benutzer auf "Upload" gedrückt hat,
// werden die Dateien überprüft
if(isset($_POST['submit']) AND $_POST['submit']=='Upload'){
mkdir("$pfad/$mat_id",0777);
// jede Datei einzeln testen
for($i=0; $i<$anzahl_dateifelder; $i++){
$myFILE['name'] = $_FILES['Datei']['name'][$i];
$myFILE['type'] = $_FILES['Datei']['type'][$i];
$myFILE['tmp_name'] = $_FILES['Datei']['tmp_name'][$i];
$myFILE['error'] = $_FILES['Datei']['error'][$i];
$myFILE['size'] = $_FILES['Datei']['size'][$i];
// Fehlerarray erzeugen
$errors = array();
$errors = checkUpload($myFILE, $file_extensions, $mime_types, $maxsize);
if(count($errors)){
echo "<p>\n".
"Die ".($i+1).". Datei (".$myFILE['name'].") konnte nicht gespeichert werden.<br />\n";
foreach($errors as $error)
echo $error."<br />\n";
echo "</p>\n";
}
else {
do {
$neuer_name = renameFile($myFILE['name']);
} while(file_exists($ordner.$neuer_name));
if(@move_uploaded_file($myFILE['tmp_name'], $ordner.$neuer_name)){
echo "<p>\n".
"Die ".($i+1).". Datei (".$myFILE['name'].") wurde erfolgreich gespeichert.<br />\n".
"</p>\n";
}
else{
echo "<p>\n".
"Die Die ".($i+1).". Datei (".$myFILE['name'].") konnte nicht gespeichert werden.<br />\n".
"Es ist ein Upload-Fehler aufgetreten.<br />\n".
"Bitte versuchen Sie es später erneut.<br />\n".
"<br />\n".
"Sollte der Upload noch immer nicht funktionieren, informieren Sie uns bitte per Email.<br />\n".
"<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
"</p>\n";
}
}
}
echo "<p>\n".
"<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
"</p>\n";
}
// Beim ersten Aufruf des Skriptes wird das
// Upload-Formular angezeigt
else{
echo "<h1>Laden Sie mehrere Bilder hoch!</h1>\n";
echo "<h2>Erlaubte Dateiendungen sind:</h2>\n";
foreach($file_extensions as $extension)
echo " - ".$extension."\n<br />";
echo "<h2>Erlaubte Dateigröße:</h2>\n";
echo " - maximal ".($maxsize/(1024*1024))." MB\n<br />";
echo " <form ".
"action=\"".$_SERVER['PHP_SELF']."\" ".
"method=\"post\" ".
"enctype=\"multipart/form-data\">\n";
echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$maxsize."\" />\n";
for($i=0; $i<$anzahl_dateifelder; $i++){
echo " <label for=\"Datei\">".($i+1).". Datei auswählen</label>\n";
echo " <input type=\"file\" name=\"Datei[".$i."]\" id=\"Datei[".$i."]\" />\n";
echo " <br />\n";
}
echo " <input type=\"submit\" name=\"submit\" value=\"Upload\" />\n";
echo " </form>\n";
}
?>
Code: Alles auswählen
// Upload-Ordner definieren
// -----------------------------------------------
$mat_id = $_POST['mat_id'];
$pfad = "var/www/vhosts/maskinisten.net/httpdocs/mat/bilder";
$ordner = "/$pfad/$mat_id/";
Code: Alles auswählen
if(isset($_POST['submit']) AND $_POST['submit']=='Upload'){
mkdir("$pfad/$mat_id",0777);