$_FILES['datei']['type'] gibt kein Wert aus

  • $_FILES['datei']['type'] gibt kein Wert aus

    Hallo zusammen und ein Guten Abend,

    Da ich gerade an mein CMS Arbeite hab ich gerade soweit keine Ahnung mehr habe, ich möchte die hochgeladende Datei auf ihrem Type auslesen, jedoch klappt es mal und mal wieder nicht

    also so soll es Aussehen

    PHP-Quellcode

    1. ABC:audio/mp3
    2. Die Datei BhseOnkelzMexico.mp3 wurde erfolgreich Hochgeladen


    jedoch sieht es auch oft so aus

    PHP-Quellcode

    1. ABC:Sie haben keine Datei ausgewählt oder haben versucht ein ungültiges dateien format hochzuladen
    2. Gültige dateien Formate sind: mp3
    3. ACB: BhseOnkelzMexico.mp3Type


    Hier mal der Code aus der uploadfile.tpl vll seht ihr da ein Fehler

    PHP-Quellcode

    1. <?php
    2. echo "ABC:".$_FILES['datei']['type'];
    3. if($_SESSION['uploadID'] == -1)
    4. {
    5. }
    6. else
    7. {
    8. if($_FILES['datei']['name'] != "" && IsDatainFormat($_SESSION['uploadID'],$_FILES['datei']['type']) == 1)
    9. {
    10. # Hier würd die Datei auf dem server hochgeladne und in das Verzeichnes Verschoben
    11. if(file_exists($Pfad)) {
    12. echo "Die Datei <b>".$_FILES['datei']['name']."</b> wurde erfolgreich Hochgeladen";
    13. }
    14. #einlesen in die Datenbank
    15. }
    16. else
    17. {
    18. echo "Sie haben keine Datei ausgew&auml;hlt oder haben versucht ein ung&uuml;ltiges dateien format hochzuladen<br>";
    19. echo "G&uuml;ltige dateien Formate sind: <font color='green'>".GetDataFormat($_SESSION['uploadID'])."</font><br>";
    20. echo "ACB: ".$_FILES['datei']['name']."Type: ".$_FILES['datei']['type'];
    21. }
    22. $_SESSION['uploadID'] = -1;
    23. }
    Alles anzeigen
  • Hi Diavolo,
    es scheint ja nun, so liest sich zumindest dein Problem, dass die Datei ($Pfad) nicht existiert.

    Vermutungen meinerseits:

    HTML-Quellcode

    1. enctype="multipart/form-data"

    im <form>-Tag vergessen!?

    Google spuckte mir außerdem aus, dass eine Audiodatei wie folgt abgefragt werden kann:

    PHP-Quellcode

    1. if($_FILES['datei']['type'] == 'audio/mpeg')

    Schau mal, was bei dir, bei $_FILES['datei'] ausgespuckt wird (ist ein Array, also ggf. mit var_dump/print_r arbeiten).
  • ich hab dafür extra ne Funktion für gemacht

    die ist so aufgebaut

    PHP-Quellcode

    1. function IsDatainFormat($Type,$text)
    2. {
    3. if($Type == 1)
    4. {
    5. #//bilder
    6. if($text == "image/png" | $text == "image/jpeg" | $text == "image/gif" | $text == "image/bmp" | $text == "image/vnd.microsoft.icon" | $text == "image/tiff" | $text == "image/svg+xml")
    7. {
    8. return 1;
    9. }
    10. }
    11. if($Type == 2)
    12. {
    13. #// Dateianhang
    14. if($text == "application/zip" | $text == "application/x-rar-compressed" | $text == "application/pdf" | $text == "image/vnd.adobe.photoshop" | $text == "application/postscript" | $text == "application/msword" | $text == "application/rtf" | $text == "application/vnd.ms-excel" | $text == "application/vnd.ms-powerpoint" | $text == "application/vnd.oasis.opendocument.text" | $text == "application/vnd.oasis.opendocument.spreadsheet")
    15. {
    16. return 1;
    17. }
    18. }
    19. if($Type == 3)
    20. {
    21. #//Musik
    22. if($text == "audio/mpeg" || $text == "audio/mp3")
    23. {
    24. return 1;
    25. }
    26. }
    27. if($Type == 4)
    28. {
    29. #//Video
    30. if($text == "video/quicktime" || $text == "video/mp4")
    31. {
    32. return 1;
    33. }
    34. }
    35. return 0;
    36. }
    37. function GetDataFormat($Type)
    38. {
    39. if($Type == 1)#Bilder
    40. {
    41. $ausgabe = "png, jpe, jpeg, jpg, giv, bmp, ico, tiff, tif, svg und svgz";
    42. }
    43. if($Type == 2)#dateianhang
    44. {
    45. $ausgabe = "zip, rar, pdf, psd, ai, eps, ps, doc, rtf, xls, ppt, odt und ods";
    46. }
    47. if($Type == 3)
    48. {
    49. $ausgabe = "mp3";
    50. }
    51. if($Type == 4)
    52. {
    53. $ausgabe = "gt, mov und mp4";
    54. }
    55. return $ausgabe;
    56. }
    Alles anzeigen


    zu dem hab ich es drin

    PHP-Quellcode

    1. <form action="index.php?page=Material/uploadfile" method="post" enctype="multipart/form-data">
    2. Bitte die Datei auswaehlen !!<br>
    3. <input name="datei" type="file" size="50" maxlength="100000"> <br>
    4. <input type="submit" name="submit" value="Hochladen">
    5. <input type="reset" value="Abbrechen">
    6. </form>

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Diavolo ()

  • Also wenn es manchmal funktionniert denn kommt das raus

    PHP-Quellcode

    1. ABC:image/jpegSie haben keine Datei ausgewählt oder haben versucht ein ungültiges dateien format hochzuladen
    2. Gültige dateien Formate sind: mp3
    3. ACB: BhseOnkelzMexico.mp3Type: image/jpeg


    er gibnt denn also return 0; aus, denn er braucht ne jpeg aber bekommt ne mp3
    und wenn es mal nicht Funktionniert denn
    Kommt das so

    PHP-Quellcode

    1. ABC:Sie haben keine Datei ausgewählt oder haben versucht ein ungültiges dateien format hochzuladen
    2. Gültige dateien Formate sind: mp3
    3. ACB: BhseOnkelzMexico.mp3Type