#1 4. Oktober 2011 gerichteter Dateiupload klappt nicht Moin, ich hab folgendes Problem, ich versuche von meiner Seite, auf nem lokalen Webserver laufend wohlgemerkt, eine Datei hochzuladen und diese dann testweise in nem anderem Verzeichnis zu speichern. Folgendermaßen sieht der Quelltext des PHP-Scripts aus: Code: <?xml version="1.0" encoding="utf-8" ?> <?php if ((($_FILES["file"]["type"] == "image/X-ms-wmv") ) && ($_FILES["file"]["size"] < 209715200)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1048576) . " MB<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists("../upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "../upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?> und folgendermaßen das HMTL Pendant: Code: <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="upfile" accept="video/X-ms-wmv" /> <input type="submit" value="Upload" /> </form> Als Fehler bekomm ich jedas mal: Code: Notice: Undefined index: file in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\joomla\upload.php on line 5 Invalid file Hoffe jemand kann mir sagen, wo der Knackpunkt liegt. Als MIME-Type hatte ich auch schon den *-Platzhalter genutzt aber irgendwie funzt das nicht. Nutze ne WMV-Datei als Testreferenz. + Multi-Zitat Zitieren
#3 4. Oktober 2011 AW: gerichteter Dateiupload klappt nicht Hab ich nun gerade mal getestet und alle ersetzt. Aber es kommt die selbe Fehlermeldung. + Multi-Zitat Zitieren
#4 4. Oktober 2011 AW: gerichteter Dateiupload klappt nicht der undefined index sollte weg sein. der andere fehler liegt hier: PHP: if ((( $_FILES [ "file" ][ "type" ] == "image/X-ms-wmv" ) image/X-ms-wmv sollte es dann immer noch nicht gehen schaust du dir mal per var_dump($_FILES) an was denn alles übertagen wurde. im übrigen sei dir gesagt, dass ['type'] ein vom benutzer gesetzter wert ist und nicht korrekt sein muss. man könnte in deinem beispiel parkatisch jede beliebige datei hochladen wenn man den mime-type fälscht. um einen korrekten mime-type zu ermitteln gibt es funktionen in php wie z.b. PHP: finfo_open - Manual + Multi-Zitat Zitieren
#5 4. Oktober 2011 AW: gerichteter Dateiupload klappt nicht Das mit dem image/... ist mir selbst gerade aufgefallen. Dachte zuvor es liegt am Datentyp. Wo setze ich echo var_dump($_FILES); denn am besten ein ? Bin nicht sehr PHP-versiert kriege hier gar kein Rückläufer. + Multi-Zitat Zitieren
#6 4. Oktober 2011 AW: gerichteter Dateiupload klappt nicht nach <?php und echo brauchst du nicht, das macht var_dump selbst. + Multi-Zitat Zitieren
#7 4. Oktober 2011 AW: gerichteter Dateiupload klappt nicht Also bei mir bleibt die Meldung gleich und es ändert sich nichts. Was mich nur stutzig macht. Nun liegt die line 5 nach der Änderung in line 7 und er gibt trotzdem die selbe Meldung aus. Kann es eventuell an Joomla! liegen bzw. irgendwelchen Einstellungen ? Ich bin mir auch nicht so sicher, wie es mit dem angepeilten Verzeichnis aussieht. Bis dato ist dieses noch nicht angelegt, ich bin mir nicht sicht aber denke bist jetzt, dass es wohl angelegt wird. ---- Hab meinen Fehler gefunden. Danke schon mal Murdoc, bewerten ist derzeit bei dir leider nicht mehr möglich ^^. Hab die falsche upload.php bearbeitet -_-" Werde mich wohl nochmal zu Wort melden, wenn es wieder Fehler gibt. ---- Muss ich eigentlich irgendwas beachten, wenn die Videos sonst hochlade ? Denn komischer Weise erlaubt mir mein Script nur teilweise Videos hochzuladen. Auch, wenn ich das selbe Video kopiere und umbenenne wird es manchmal nicht akzeptiert und die MIME-Type Prüfung gibt Fehler aus und lässt die Datei nicht durch. + Multi-Zitat Zitieren