Uploadscripte funktionieren nicht mehr
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hallo Community,
kann es sein das kürzlich die Server geupdatet wurden auf eine neue PHP Version? Nicht nur bei Lima, sondern auch auf anderen Servern funktionieren nämlich meine simplesten Upload-Scripte nicht mehr. Lediglich auf dem Localhost der halt auch nicht geupdatet wurde.
Der Code:
// UPLOAD $dateityp = explode("/", $_FILES['datei']['type']); if(isset($dateityp[1]) && $_FILES['datei']['size'] < 512000) { $filename = $edit_user.".jpg"; $size = $_FILES['datei']['size']; $type = $_FILES['datei']['type']; move_uploaded_file($_FILES['datei']['tmp_name'], "../images/user/$filename"); $message_5 .= ' Pic successfully uploaded!'; } elseif(isset($dateityp[1])) { $message_5 .= " Pic not uploaded (max 500 kb, only JPG ...)"; };
Ich bekomme keine Fehler ausgegeben, es wird ganz einfach nur kein Bild/Datei hochgeladen. Ich hab den Code aufs mindeste runtergebrochen ...
Beitrag zuletzt geändert: 13.12.2013 15:39:10 von h4nni -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo h4nni,
probiere es mal damit, habe mal eine if-Abfrage deinem Upload vorangestellt, um auszuwerten, ob der Upload funzt oder nicht ... und den Pfad geändert.
// UPLOAD $dateityp = explode("/", $_FILES['datei']['type']); if(isset($dateityp[1]) && $_FILES['datei']['size'] < 512000) { $filename = $edit_user.".jpg"; $size = $_FILES['datei']['size']; $type = $_FILES['datei']['type']; if(move_uploaded_file($_FILES['datei']['tmp_name'], "../images/user/".$filename)){ $message_5 .= ' Pic successfully uploaded!'; } else { $message_5 .= ' Pic not uploaded!'; } } elseif(isset($dateityp[1])) { $message_5 .= " Pic not uploaded (max 500 kb, only JPG ...)"; };
Grüße -
OK. Wo hast du den Pfad geändert?
Es wird nichts hochgeladen. Woran kann das liegen?
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
sind an, melden aber nichts.
Beitrag zuletzt geändert: 14.12.2013 11:11:11 von h4nni -
Hi,
ich habe aus diesem Pfad
"../images/user/$filename"
diesen gemacht
"./".$filename
das bedeutet, das dieses Script das Bild im gleichen Verzeichnis speichert, wo die upload-Datei liegt!
Habe es getestet, funktioniert so wie du es unten siehst, das Script hat ein Problem mit deinem aktuellen Pfad!
Gibt es den Ordner denn wirklich? Oder du hast einen Schreibfehler?
"../images/user/"
./ bedeutet aktueller Ordner
../ bedeutet übergeordneter Ordner!
// UPLOAD $dateityp = explode("/", $_FILES['datei']['type']); if(isset($dateityp[1]) && $_FILES['datei']['size'] < 512000) { $filename = $edit_user.".jpg"; $size = $_FILES['datei']['size']; $type = $_FILES['datei']['type']; if(move_uploaded_file($_FILES['datei']['tmp_name'], "./".$filename)){ $message_5 .= ' Pic successfully uploaded!'; } else { $message_5 .= ' Pic not uploaded!'; } } elseif(isset($dateityp[1])) { $message_5 .= " Pic not uploaded (max 500 kb, only JPG ...)"; }; echo $message_5;
Grüße -
Bei der einen Seite gehts nun, bei der anderen noch nicht. Es kann doch auch nicht sein das plötzlich auf mehreren Seiten das Script nicht mehr läuft? Eine Idee: Kann es sein das man fortan "../" bzw mit einem Punkt davor schreiben MUSS? Weil das habe ich bei einigen nicht. Die liefen halt so bisher, aber nun nicht mehr.
PS. Local läuft das bei mir auch immer. Aber nicht online. Hier nochmal die Version die nicht funktioniert. Weder auf das Stammverzeichnis noch in das richtige ...
if(isset($_FILES['datei']) && $_FILES['datei']['tmp_name']) { $size = getimagesize($_FILES['datei']['tmp_name']); if($_FILES['datei']['size'] < 512000 && $_FILES['datei']['type'] == "image/jpeg") { $filename = $edit_movie.".jpg"; $size = $_FILES['datei']['size']; $type = $_FILES['datei']['type']; if(move_uploaded_file($_FILES['datei']['tmp_name'], "./movies/".$filename)) { $success .= ' <br />Pic successfully uploaded!'; } else { $fault .= ' Pic not uploaded. Unknown error :( MAN'; } } else { $fault .= " (!) Pic not uploaded (max 500 KB and only JPG)"; }; }
Beitrag zuletzt geändert: 19.12.2013 10:39:16 von h4nni -
Also habe mir heute nochmal Zeit genommen und probiert!
Habe dein Script auf 4 verschiedenen Webspaces probiert und es funktioniert!
<h1>Upload-Script</h1> <form action='' method='post' enctype='multipart/form-data'> <input type='file' name='datei' size='50' maxlength='100000' accept='text/*'/><br/> <input type='text' name='name' value='value' size='40' maxlength='40'/> <input type='submit' value='value'/> </form> <?php if(isset($_FILES['datei']) && $_FILES['datei']['tmp_name']) { $size = getimagesize($_FILES['datei']['tmp_name']); if($_FILES['datei']['size'] < 512000 && $_FILES['datei']['type'] == "image/jpeg") { $filename = $_POST[name].".jpg"; $size = $_FILES['datei']['size']; $type = $_FILES['datei']['type']; if(move_uploaded_file($_FILES['datei']['tmp_name'], "./".$filename)) { $success .= ' <br />Pic successfully uploaded!'; } else { $fault .= ' Pic not uploaded. Unknown error :( MAN'; } } else { $fault .= " (!) Pic not uploaded (max 500 KB and only JPG)"; }; } echo $success; echo $fault; ?>
Nun meine Frage wo hast du dieses Script im Einsatz? Am besten mal kontaktieren per PN!
MFG Michael -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage