Philipp Grashoff: /php: Was wird bei einem leeren Dateiuploadfeld gesendet?

Hi Forumler,

mal wieder eine kurze Frage: ich habe ein Formular mit Dateiupload-bereich und post-methode. Das Dateiupladen geht gut:

Ich habe nun folgendes PhP-Script:

if(strlen($screen1) != 0) {
 $datei = $HTTP_POST_FILES['screen1']['name'];
 echo $datei;
 echo "<br>";
 $dateiendung = strrchr($datei, ".");
 $dateiname = $zahl."screen1".$dateiendung;
 echo $dateiname;
 copy($screen1,"bilder/clanwars/$dateiname");
 }

screen1 ist der Name des Uploadfeldes... nun, dieser Teil des scriptes wird nur ausgefuerht, wenn der Inhalt von screen1 ungleich 0 ist. Wenn ich aber gar nichts angebe, so scheint trotzdem etwas versendet zu werden, denn ich erhalte folgende Fehlermeldung:

Warning: Unable to open 'none' for reading: No such file or directory in blablabla.php on line 255

Nun wollte ich fragen, was denn da übergeben wird und wie ich sinnvoll filtern kann, ob eine Datei angegeben wurde oder nicht.

MFG

Philipp

  1. Hallo Philipp

    das erzählt dir doch deine Fehlermeldung:

    Warning: Unable to open 'none' for reading: No such file or

    ^^^^^^

    prüfe, auf "none" oder ""

    Viele Grüße

    Antje

    1. Hi Antje,

      vielen Dank fuer deine Antwort, hat geklappt.

      MFG

      Philipp

  2. Hi Forumler,

    mal wieder eine kurze Frage: ich habe ein Formular mit Dateiupload-bereich und post-methode. Das Dateiupladen geht gut:

    Ich habe nun folgendes PhP-Script:

    if(strlen($screen1) != 0) {
    $datei = $HTTP_POST_FILES['screen1']['name'];
    echo $datei;
    echo "<br>";

    if($screen1!=""){

    $dateiendung = strrchr($datei, ".");
    $dateiname = $zahl."screen1".$dateiendung;
    echo $dateiname;
    copy($screen1,"bilder/clanwars/$dateiname");

    }

    }

    screen1 ist der Name des Uploadfeldes... nun, dieser Teil des scriptes wird nur ausgefuerht, wenn der Inhalt von screen1 ungleich 0 ist. Wenn ich aber gar nichts angebe, so scheint trotzdem etwas versendet zu werden, denn ich erhalte folgende Fehlermeldung:

    Warning: Unable to open 'none' for reading: No such file or directory in blablabla.php on line 255

    Nun wollte ich fragen, was denn da übergeben wird und wie ich sinnvoll filtern kann, ob eine Datei angegeben wurde oder nicht.

    Hallo, in JavaScript, wäre  das ggf. so zu lösen:
    <input type=file onchange="(check(this.value)==true?absenden=true:absenden=false" >

    function check(filetyp){
    if (filetyp!="" || filetyp.length<=1)
    return true;
    else
    return false;

    }

    <Button value=absenden onClick="(absenden==true)?document.form.submit():alert('Fehler');">

    MFG

    Philipp

    1. use Mosche;

      onchange="(check(this.value)==true?absenden=true:absenden=false" >

      Einfach mal zu, nur als Hilfe gedacht:
        absenden=(check(this.value)==true) ? true : false;

      Ist um einiges kürzer.

      use Tschoe qw(Matti);