alex: upload(filename) liefert kein filehandle

Huhu,

wieso funktioniert das beispiel der CGI doku nicht:

$fh = $query->upload('uploaded_file');
     while (<$fh>) {
           print;
     }

ich bekomme immer ein undef zurück, was bedeutet, das kein filehandle vorliegt. generell hab ich schon viel über die probleme mit upload gelesen, aber nirgends n rezept das funzt.

hier gibts doch einige experten, hat wer n tipp?

  1. achja, bevor ich wieder die standardantwort bekomme,

    ja, ich habe die multipart encryption eingestellt, so wie es sein soll :)

    muss woanders hängen, danke gruß

    1. Hallo,

      hast Du denn schon mal in die Logs des Webservers geschaut?
      Speziell das error_log sollte Dir Aufschluss geben.

      Welches Upload-Verzeichnis ist eingestellt?
      Hat der Parser-User auch Zugriff darauf?

      LG
      Chris

      1. Hallo,

        hast Du denn schon mal in die Logs des Webservers geschaut?
        Speziell das error_log sollte Dir Aufschluss geben.

        Welches Upload-Verzeichnis ist eingestellt?
        Hat der Parser-User auch Zugriff darauf?

        LG
        Chris

        kann ich mal machen, gibts da ein temporäres verzeichnis wo upload das hinlegt? ansonsten wüßte ich nicht wieso es nen fehler geben sollte, da ich ja nicht mal anfangen kann was runterzuladen, weil es ja undef ist :P

        was ist ein parser-user? du meinst die rechte des skripte dort im upload path zu fuschen? wie gesagt, falls es sowas gibt prüf ich es morgen...

        thx soweit

  2. wieso funktioniert das beispiel der CGI doku nicht:

    $fh = $query->upload('uploaded_file');
         while (<$fh>) {
               print;
         }

    ich bekomme immer ein undef zurück, was bedeutet, das kein filehandle vorliegt. generell hab ich schon viel über die probleme mit upload gelesen, aber nirgends n rezept das funzt.

    Es gibt keine Probleme beim fileupload, es sei denn du machst irgendwo einen fehler. Das beispiel in der CGI Doku funktioniert.

    Das Formularfeld mit dem Namen 'uploaded_file' ist eines vom Typ file?

    Struppi.

    1. Das Formularfeld mit dem Namen 'uploaded_file' ist eines vom Typ file?

      ja, ist es. ich probier es als nächstes mal als eigenständiges programm, vielleicht gabs ja irgendwelche konflikte...

      gruß

    2. ich habs soeben rausbekommen, ursache ist folgender code im skript:

      __CODE__

      my $params = Vars;

      foreach my $param ( keys %$params ) {

      $$params{$param} = encode_entities($$params{$param}, '<>&"');
      }

      __CODE__

      sobald die foreach die eingaben filtert klappt kein upload mehr...
      leider brauch ich das, sonst macht er mir evtl values mit ->"<- und das is nicht so schön ...

      mal sehen, vielleicht greift noch ne andere lösung da...

      gruß, thx

      1. __CODE__

        my $params = Vars;

        foreach my $param ( keys %$params ) {

        $$params{$param} = encode_entities($$params{$param}, '<>&"');
        }

        __CODE__

        sobald die foreach die eingaben filtert klappt kein upload mehr...
        leider brauch ich das, sonst macht er mir evtl values mit ->"<- und das is nicht so schön ...

        Wie meinst du das?

        Du solltest die Eingabe dort überprüfen wo sie stört, aber nicht auf alle Felder anwenden und schon gar nicht auf upload Felder, du zerstörst ja damit komplett den Inhalt.

        Struppi.