PHP Multiupload funktioniert nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
bild
code
datei
entsprechenden ordner
extension
fehler
fehlermeldung
file
formular
glauben
gleichen verzeichnis
meldung
ordner
page
paste
richtigen stelle
schwerwiegenden fehlern
url
verzeichnis
-
Hallo,
ich habe ein Script, mit dem ich mehrere Bilder auf meinen Server hochladen kann.
Ein Ordnername wird übergeben, wo die Bilder rein gespeichert werden sollen.
Der Code:
<form action="?page=bilderupload" method="post" enctype="multipart/form-data"><input name="uploads[]" type="file" multiple><br /> <br /> <b>Ordnername:</b> <input type="input" name="name" id="name"><br /> <br /> <input type="submit" value="Dateien hochladen" name="submit"></form> <?php if ($_POST ['submit']=='Dateien hochladen') { if($_POST['name'] == "") { echo 'Bitte gib einen Ordnernamen an!'; $fehler = true; } if (!$fehler) { // Erlaubte Dateiendungen $allowedExtensions = array('png', 'jpg', 'jpeg', 'JPG'); // Maximale Größe der Datei $maxSize = 2097152; // Hilfsvariable für Array Index $i = 0; foreach($_FILES as $file) : foreach($file['name'] as $filename) : $extension = getExtension($filename); if(!in_array($extension, $allowedExtensions)) { echo 'Keine erlaubte Endung: ', $filename; ++$i; // Datei überspringen falls Endung nicht erlaubt continue; } if($file['size'][$i] > $maxSize) { echo 'Datei zu groß'; ++$i; continue; } // Eindeutiger Dateiname $save_as_name = uniqid().'_'.$filename; //Ordnername $ordnername = $_POST['name']; // Datei auf Server speichern move_uploaded_file($file['tmp_name'][$i], "$ordnername/$save_as_name"); ++$i; endforeach; endforeach; echo '<b><center>Erfolg!</center></b>'; } } function getExtension($name) { return (false === ( $p = strrpos($name, '.') ) ? '' : substr($name, ++$p)); } ?>
Der Code funktioniert aber irgendwie noch nicht.
Laut Fehlermeldung ist in der Zeile, wo die Funktion move_uploaded_file() aufgerufen wird, ein Fehler.
Da finde ich aber keinen Fehler. Das Verzeichnis $ordnername existiert.
Die Fehlermeldungen:
Warning: move_uploaded_file(ordner/50661502e2953_DSC09886.JPG) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/www/html/upload.php on line 52 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/home/www/phptmp/phpM4FmQE' to 'ordner/50661502e2953_DSC09886.JPG' in /home/www/html/upload.php on line 52
Könnt Ihr mir helfen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
davy schrieb:
. Das Verzeichnis $ordnername existiert.
Die Fehlermeldung besagt etwas anderes.
Es mag sein, daß Du einen entsprechenden Ordner angelegt hast. Liegt der aber auch, bezogen auf den Speicherort des Skriptes, an der richtigen Stelle und ist beschreibbar?
$ordnername="ordner" -> der ordner wird im gleichen Verzeichnis, wie das uploadskript gesucht
$ordnername="/ordner" -> der Ordner wird im document-root.gesucht
EDIT: Fehlerhafte Schreibrechte sind auszuschließen, denn dann wäre die erste Meldung ein "permission denied".
Priinzipiell ist das Uploadscript weder schön, noch übersichtlich, aber zumindest frei von schwerwiegenden (!) Fehlern.
Gerade per Copy>Paste erfolgreich getestet.
.
Entspricht dein Codeschnipsel wirklich genau dem ausgeführten Script? Ich vermag es nicht zu glauben, denn dann wäre das action='?page=bilderupload'" absolut sinnlos und das Formular würde unbenötigterdings auch wieder gezeigt..
Beitrag zuletzt geändert: 29.9.2012 0:53:10 von fatfreddy -
fatfreddy schrieb:
davy schrieb:
. Das Verzeichnis $ordnername existiert.
Die Fehlermeldung besagt etwas anderes.
Es mag sein, daß Du einen entsprechenden Ordner angelegt hast. Liegt der aber auch, bezogen auf den Speicherort des Skriptes, an der richtigen Stelle und ist beschreibbar?
$ordnername="ordner" -> der ordner wird im gleichen Verzeichnis, wie das uploadskript gesucht
$ordnername="/ordner" -> der Ordner wird im document-root.gesucht
EDIT: Fehlerhafte Schreibrechte sind auszuschließen, denn dann wäre die erste Meldung ein "permission denied".
Priinzipiell ist das Uploadscript weder schön, noch übersichtlich, aber zumindest frei von schwerwiegenden (!) Fehlern.
Gerade per Copy>Paste erfolgreich getestet.
.
Entspricht dein Codeschnipsel wirklich genau dem ausgeführten Script? Ich vermag es nicht zu glauben, denn dann wäre das action='?page=bilderupload'" absolut sinnlos und das Formular würde unbenötigterdings auch wieder gezeigt..
Danke für deine Antwort !
Der $ordnername liegt an der richtigen Stelle, also in dem Ordner, wo auch das Uploadskript liegt.
Ich finde das Skript auch nicht so schön, hast du ein besseres für mich?
Die Action = '?page=bilderupload' verweist auf das Upload Formular. In der selben Datei befindet sich auch der PHP Code für den Upload. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage