Datei kopieren per CGI?



  • Hallo,
    ich habe ein Verzeichnis mit schreibrechten auf meinem Webserver. Nun würd ich gern per scritpt in dem dir eine Datei kopieren. In der commandline würde das so aussehen

    "copy datei1.abc datei2.abc"

    Ich habe versucht das per ' system("copy datei1.abc datei2.abc") ' aufzurufen aber das hat nicht funktioniert. Kennt vielleicht einer ein Script mit dem ich sowas machen kann? Aber bitte verweist mich jetzt nicht auf cgifree.de oder so, denn dort find ich nichts in der art. Der Benutzer soll auch keine Angaben machen, das soll nur im Hintergrund ablaufen.

    Ich hoffe ihr könnt mir helfen.

    MfG und Danke
    Basti


  • Mod

    welche sprache nutzt du denn?

    notfalls kannst du ja immernoch von hand kopieren.



  • Ich benutze eigentlich keine Sprache *g* Aber wenn dann CGI.
    Achso, und das von Hand koppieren bringt nichts, das Script brauche ich um es zu automatisieren.

    MfG
    Basti



  • Also,
    hier ist mein Code, das einlesen funktioniert. Nur das schreiben geht nicht so wie ich will.

    #!/usr/bin/perl -w
    
    use strict;
    use CGI::Carp qw(fatalsToBrowser);
    
    #Datei lesen
    my $AnzahlBytes = -s "F:/www/home/cgi-bin/001.gif";
    my $Speicher;
    open(GRAFIK, "F:/www/home/cgi-bin/001.gif");
    binmode(GRAFIK);
    my $geleseneBytes = read(GRAFIK, $Speicher, $AnzahlBytes);
    close(GRAFIK);
    
    #Datei schreiben
    open(NEU,"/www/home/cgi-bin/002.gif") ;
    binmode(NEU);
    print NEU $Speicher;
    close (NEU);
    

    MfG
    Basti



  • du benutzt perl....

    CGI ist keine sprache sondern das Common Gateway Interface....

    sprachen mit denen man auf diese schnittstelle zugreifen kann, nennt man CGI-sprachen, sie müssen im allgemeinen folgende foraussetzungen erfüllen:

    -ausgabe auf stdout
    -einlesen von stdin
    -zugriff auf umgebungsvariablen muss möglich sein

    mfg

    EDIT:
    achja, ich schätze mal, das die zugriffsrechte nicht passen, das würde erklären wieso das einlesen geht...

    [ Dieser Beitrag wurde am 10.02.2003 um 14:05 Uhr von mi+chl editiert. ]



  • Hi,
    der fehler lag ini dieser Zeile

    open(NEU,"/www/home/cgi-bin/002.gif") ;
    

    hab das ' < ' vergessen

    open(NEU,">/www/home/cgi-bin/002.gif") ;
    

    Trotzdem danke
    MfG
    Basti

    P.S. Danke für die Erklärung



  • Original erstellt von B@sti:
    "copy datei1.abc datei2.abc"

    Ich habe versucht das per ' system("copy datei1.abc datei2.abc") '

    ist wahrscheinlich ein linux server 😛

    cp datei1 datei2


Anmelden zum Antworten