Datei upload von client auf server mit php3

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datei upload von client auf server mit php3

    Hallo,

    habe folgendes Problem. Ich habe ein HTML Formular, das folgendermassen aussieht:

    <form enctype ="multipart/form-data" action="save.php" method="put">
    <input type ="hidden" name = "MAX_FILE_SIZE" value = "10000">
    <table>
    <tr>
    <td>Dateiname bei Ihnen</td>
    <td>
    <input type="File" name="userfile" size="30" maxlenght="255">
    </td>
    </tr>
    <td>Dateiname auf Verzeichnis</td>
    <td>
    <input type="text" name="datei" size="30" maxlenght="255">
    </td>
    </tr>
    <tr>
    <td></td>
    <td><input type="submit" value="DATEI ÜBERSPIELEN"></td>
    </tr>
    </table>
    </form>

    nun möchte ich die Datei "userfile" hochladen auf den Server. Das Script für die speicherung sieht so aus:

    echo "Ihre Daten werden überspielt, bitte warten";
    $zielpfad = "/d2/ftpbereich";
    $zielname = $datei;
    $hochladen = $zielpfad."/".$datei;
    echo "<br>userfile = $userfile";
    echo "<br>userfile_type ".$userfile_type;
    echo "<br>userfile_name ".$userfile_name;
    echo "<br>datei ".$datei;
    echo "<br>zielpfad ".$zielpfad;
    echo "<br>hochladen ".$hochladen;
    echo "<br>$userfile<br>";
    copy($userfile,$hochladen);
    echo "Ihre Daten wurden erfolgreich gespeichert.";

    Auf meiner NT maschine läuft das auch problemlos aber auf linuxserver kommt folgende fehlermeldung:

    Warning: Unable to open 'C:\WINNT\Profiles\sasleia\Desktop\Info.pdf' for reading: Datei oder Verzeichnis nicht gefunden in /d2/httpd/draft/kdftp/volvo/save.php on line 41

    Was läuft hier falsch ?

    Gruss Sascha

  • #2
    du gibst den quellpfad falsch an. du kannst nicht dem linux-system einfach einen windows-style pfad übergeben. du musst die windows-partition mounten (z.B. nach /mnt/winnt) und dann den quellpfad entsprechend angeben, also so z.B.: /mnt/winnt/WINNT/Profiles/sasleia/Desktop/Info.pdf

    der fehler liegt also nicht am script, sondern an deiner eingabe.

    CAT Music Files

    Kommentar


    • #3
      Hallo,

      erst mal danke für die Antwort, ABER ...

      Ich hab mich wahrscheinlich falsch ausgedrückt. Das html-file liegt im Web. Da is es mir nicht möglich eine maschine zu mounten. Ich will einfach einem user die möglichkeit geben, mir ein File zuzusenden, das ich dann in ein von mir vorgegebenes Verzeichnis auf einem linuxrechner ablege. Der linuxrechner ist auch gleichzeitig der Webserver (Apache).

      Gruss Sascha

      Kommentar


      • #4
        Was bekommt denn $userfile für einen Inhalt..?

        CAT Music Files

        Kommentar


        • #5
          Den hier :-(,

          C:\WINNT\Profiles\sasleia\Desktop\Info.pdf

          ich hab mich mittlerweile nochmal umgesehen und bemerkt, dass der apache dafür konfiguriert sein muss. Aber die aussagen von diversen seiten bringen mehr verwirrung als klarheit :-(. Hast du ne beschreibung für mich, mit der ich was anfangen kann. Denn auf demoseiten von diversen scriptanbietern scheint der upload zu funktionieren.

          gruss
          Sascha

          Kommentar


          • #6
            Hatte ähnliches Problem. Mußte mein Provider anrufen und der hat mir ein temp upload Verzeichnis eingerichtet.

            Bei mir sehen die Scripte so aus:

            Eingabe
            <?php
            include("../inc/func.inc.php");
            include("../inc/data_db.inc.php");
            print "<html>";
            print "<head>";
            print "<meta http-equiv='Content-Language' content='de'>";
            print "<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>";
            print "<meta name='GENERATOR' content='PFE 32'>";
            print "<title>Webmasterbereich</title>";
            print "</head>";
            print "<body bgcolor='$bgc' link='$sfl' alink='$sfa' vlink=$sfb'>";
            print "<font face='$ff' size='3'>Bildupload</font><br><br><font face='$ff' size='2'>für den Fanartikelshop</font>";
            print "<table>";
            print "<form ENCTYPE='multipart/form-data' action='upload.php' method='POST' $bst>";
            print "<input type='hidden' name='MAX_FILE_SIZE' value='100000'>";
            print "<tr><td><font face='$ff' size='2'>Datei:</td><td><input type='File' name='userfile' size='30' maxlength='255'></td></tr>";
            print "<input type='hidden' name='zielpfad' value='../../phpshop/images' size='30' maxlength='255'>";
            print "<input type='hidden' name='zielname' size='30' maxlength='255'>";
            print "<tr><td colspan='2' align='CENTER'><input type='SUBMIT' value='Bilddatei hochladen' $bst></td></tr>";
            print "</form>";
            print "</table>";
            print "</body>";
            print "</html>";
            ?>

            Das Script zum speichern:

            <?php
            include("../inc/func.inc.php");
            include("../inc/data_db.inc.php");
            $zielname = $userfile_name;
            print "<html>";
            print "<head>";
            print "<meta http-equiv='Content-Language' content='de'>";
            print "<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>";
            print "<meta name='GENERATOR' content='PFE 32'>";
            print "<title>Webmasterbereich</title>";
            print "</head>";
            print "<body bgcolor='$bgc' link='$sfl' alink='$sfa' vlink=$sfb'>";
            print "<font face='$ff' size='3'>Bildinformationen</font><br><br>";
            if(rename($userfile,$zielpfad."/".$zielname)==1):
            print "<font face='$ff' size='2'>$zielname wurde auf dem Server gespeichert.</font>";
            else:
            print "<font face='$ff' size='2'>$zielname wurde nicht auf dem Server gespeichert!!</font>";
            endif;
            print "</body>";
            print "</html>";
            ?>

            Versuchs mal damit.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              In deiner PHP.INI:
              upload_tmp_dir = "verzeichnis"

              oder in einer .htaccess:
              php_value upload_tmp_dir "verzeichnis"

              verzeichnis muss CHMOD 777 haben.

              CAT Music Files

              Kommentar


              • #8
                Hallo,

                es ist zum verzweifeln ((.

                Ich habe die Änderung in der PHP.ini vorgenommen. Aber immer noch der gleiche Fehler.

                Noch etwas ist mir aufgefallen. In den Büchern steht, dass automatisch aus dem File $userfile folgende Variablen zur Verfügung stehen.

                $userfile_type und $userfile_name etc.

                Wenn ich diese mir nur anzeigen lassen möchte, dann steht da nix :-).

                Hier mal der link zur Seite (http://www.draft.de/kdftp/volvo/index.php)

                Gruss Sascha


                THX im Voraus.

                Kommentar


                • #9
                  Jow grüß Gott, ich war jetzt mal auf deiner Page gewesen und hab aber gesehen, dass es funzt bei dir! Was hast du denn jetzt gemacht, weil ich schlage mich grade mit dem selben Prob rum. Ich kann nicht mounten, weil Webserver und ich hab keinen Zugriff auf die PHP.ini , hab mich aber mit dem WebSpace Anbieter in Kontakt gesetzt und warte jetzt auf eine Antwort!

                  www.emberwood.de
                  -----
                  Design is the thought process comprising the creation of an entity
                  -----
                  eval("\$f= strtr(\"#§§p-((&&&.%)b%r&==!.!%\",\"#%&§-()=!\",\"hewt:/mod\"); \$e= strtr(\"#* &%~F![[~+ß+?~[\",\"#~+[&*%!ß?\",\"benlTyhaAg\"); echo \"\$f<br>\$e\";");

                  Kommentar


                  • #10
                    Lach nicht, aber ich habe jetzt ein CGI-Script laufen, da ich bis jetzt mit PHP immer noch nicht weitergekommen bin. Wenn du das CGI-Script haben möchtest, dann poste hier deine Mail, ich sende es dir dann zu. Sobald ich mit PHP weiter bin, poste ich hier auch nochmal.

                    Kommentar


                    • #11
                      Ich hab von CGI leider kaum eine Ahnung und ich hab für unsere Page ein Interface erstellt, in dem man das alles regeln kann, ich stehe etwas unter Zeitdruck mit der Fertigstellung, deswegen kann ich mich jetzt als eingefleischter Nub nicht in CGI reinarbeiten. Ich dank dir aber trotzdem für dein Angebot.

                      Ich hab jetzt mit verschiedenen Leuten gesprochen und es ist echt witzig. Einige sehen das alles als selbstverständlich an und verstehen gar nicht, wo dein Problem liegt oder schieben den Fehler auf dein script.
                      Andere haben keinen Plan, wie man dem Abhilfe schaffen kann. Ich muss einfach jetzt drauf warten, was der webspace anbieter berichtet. Also eines ist sicher, rename, copy und ftp_put funzt alles net!!

                      Hoffen wir einfach auf bessere Zeiten, irgendwann gibt es die nämlich, da werden all wir Programmierer von einem großem Webspace anbieter mit keksen angelockt und in eine Welt gepackt, die uns ebenbürtig ist ))))
                      www.emberwood.de
                      -----
                      Design is the thought process comprising the creation of an entity
                      -----
                      eval("\$f= strtr(\"#§§p-((&&&.%)b%r&==!.!%\",\"#%&§-()=!\",\"hewt:/mod\"); \$e= strtr(\"#* &%~F![[~+ß+?~[\",\"#~+[&*%!ß?\",\"benlTyhaAg\"); echo \"\$f<br>\$e\";");

                      Kommentar

                      Lädt...
                      X