Peter: Datei in vorgegebenes Verzeichniss schreiben...

Hallo,

hab da ein kleines Problem mit einem Bilderupload. Zuerst einmal ein kleiner Ausschnitt aus meinem Skript:

open UPLOAD, ">$uploadfilename" ; #so heisst die Datei
 binmode UPLOAD;
 print UPLOAD $uploadfile; #Die Datei wo hochgeladen wird
 close UPLOAD;

So weit so gut, nach diesem Skript wird die hochgeladene Datei im aktuellen CGI Verzeichniss abgespeichert. Was aber leider nicht so sein sollte. Deswegen wollte ich Sie auch in einem anderen Verzeichniss abspeichern. Was dann ungfefähr so ausschauen sollte:

$path = "http://localhost/bilder/";

open UPLOAD, ">$path$uploadfilename" ; #so heisst die Datei
 binmode UPLOAD;
 print UPLOAD $uploadfile; #Die Datei wo hochgeladen wird
 close UPLOAD;

Klappt so aber leider nicht mehr, besser gesagt es tut sich garnichts mehr :(

Vielleicht jemand ne Idee?

Ps: use strict wurde hier mit absicht weggelassen :p

Schon mal Danke im vorraus!

  1. Hoi,

    So weit so gut, nach diesem Skript wird die hochgeladene Datei im aktuellen
    CGI Verzeichniss abgespeichert.

    Dann hast du Glueck. Die Datei koennte sonstwo gespeichert werden :) Das PWD ist
    im Standard nicht definiert.

    Was aber leider nicht so sein sollte. Deswegen
    wollte ich Sie auch in einem anderen Verzeichniss abspeichern.

    Loeblich :)

    Was dann ungfefähr so ausschauen sollte:

    Nee, sollte es nicht.

    $path = "http://localhost/bilder/";

    open UPLOAD, ">$path$uploadfilename" ; #so heisst die Datei

    open() bezieht sich auf lokale *Pfade*. Was du da angibst ist ein URI, kein
    Pfad. OK waere z. B.

    my $path = '/home/user/blub/';
    open UPLOAD, ">$path$uploadfilename" or die $!;

    Klappt so aber leider nicht mehr, besser gesagt es tut sich garnichts mehr :(

    Kein Wunder :)

    Vielleicht jemand ne Idee?

    Pfade statt URIs benutzen? :)

    Gruesse,
     CK

    1. Hoi,

      So weit so gut, nach diesem Skript wird die hochgeladene Datei im aktuellen
      CGI Verzeichniss abgespeichert.

      Dann hast du Glueck. Die Datei koennte sonstwo gespeichert werden :) Das PWD ist
      im Standard nicht definiert.

      Was aber leider nicht so sein sollte. Deswegen
      wollte ich Sie auch in einem anderen Verzeichniss abspeichern.

      Loeblich :)

      Was dann ungfefähr so ausschauen sollte:

      Nee, sollte es nicht.

      $path = "http://localhost/bilder/";

      open UPLOAD, ">$path$uploadfilename" ; #so heisst die Datei

      open() bezieht sich auf lokale *Pfade*. Was du da angibst ist ein URI, kein
      Pfad. OK waere z. B.

      my $path = '/home/user/blub/';
      open UPLOAD, ">$path$uploadfilename" or die $!;

      Klappt so aber leider nicht mehr, besser gesagt es tut sich garnichts mehr :(

      Kein Wunder :)

      Vielleicht jemand ne Idee?

      Pfade statt URIs benutzen? :)

      Gruesse,
      CK

      peinlich so ein grober Denkfehler :(

      Dann nochmal danke für die Korrektur!
      Nun klappts auch :)