Datei von Server zu Server kopieren

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

  • Datei von Server zu Server kopieren

    Rechtfertigung:
    Boardsuche benutzt = nichts passendes gefunden.

    Problemstellung:
    Ich möchte eine externe Datei (Durch Angabe der URL in einem Formular) kopieren. Diese externe Datei wird dann auf den Server kopiert (auf dem das Formular ebenfalls installiert ist).

    Ist dies technisch möglich?


    Folgende versuche habe ich bereits durchgeführt.
    - Wget: Kein SSH access
    - FXP Side to Side transfer: Wird nicht unterstützt

  • #2
    Re: Datei von Server zu Server kopieren

    fsockopen
    fwrite
    fget
    fopen
    will heißen irgendeine Kombination aus den f*-Funktionen

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      aber so wie ich das verstanden habe, will er ein Server-Client System aufbauen.

      Du willst doch eine Datei auf einem Server über ein Formular an ein anderes Formular schicken odeR?
      Killerspiele sollten in der Größenordnung von Kinder********************grafie eingeordnet werden.(G. Beckstein)
      - ...und solche Behauptungen in "falsches Resourcenmanagement"

      Kommentar


      • #4
        curl, snoopy, fsockopen oder die PHP-FTP Funktionen...
        Möglichkeiten satt!
        Wir werden alle sterben

        Kommentar


        • #5
          Hallo,
          ein ausgepfeiltes Client server system muss es nicht sein.

          Es soll einfach ein Formular aufgebaut werden, in dem man die Möglichkeit hat eine URL/Adresse zu einer externen Datei einzugeben. (kein pfad der den Ort einer datei vom dem localen computer angibt)

          Einmal auf einen Button geklickt soll die Datei (dessen URL eingegeben wurde) auf denn Server kopiert werden auf dem das Formular ebenfalls gespeichert ist.


          Gibt es da eventuell schon ein php Formular?

          Kommentar


          • #6
            Original geschrieben von Scr1pt3r
            Es soll einfach ein Formular aufgebaut werden, in dem man die Möglichkeit hat eine URL/Adresse zu einer externen Datei einzugeben. (kein pfad der den Ort einer datei vom dem localen computer angibt)

            Einmal auf einen Button geklickt soll die Datei (dessen URL eingegeben wurde) auf denn Server kopiert werden auf dem das Formular ebenfalls gespeichert ist.
            Ja, also ganz simpel - mit den Funktionen machbar, die bereits genannt wurden.
            Gibt es da eventuell schon ein php Formular?
            Ach komm schon - das schafft jemand mit so einem l33t h4X0r Nickname doch wohl selber :-)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              was stimmt denn mit wget nicht? gibt noch rsync.

              Kommentar


              • #8
                http://ch2.php.net/ftp


                1. verbindung zum server aufbauen
                2. Verbindung prüfen
                2. einloggen mit pw
                3. überprüfen ob eingeloggt
                4. mit befehl datei uploaden, bzw. einen pfad hochladen
                5. upload überprüfen
                6. verbindung schliessen
                7. überprüfen ob geschlossen
                Webdesign und Webentwicklung - Plunix.de

                Kommentar


                • #9
                  Original geschrieben von penizillin
                  was stimmt denn mit wget nicht? gibt noch rsync.
                  "- Wget: Kein SSH access"

                  Naja ohne Shell Zugriff würde auch auch der rsync Befehl wegfallen.


                  Original geschrieben von wahsaga
                  Ach komm schon - das schafft jemand mit so einem l33t h4X0r Nickname doch wohl selber :-)
                  Wenn man in diesem Board gelentlich die 0 Poster löschen würde, wären auch mehr Nicknames frei. Ich mag solche "Ich möchte gerne auffallen." Schreibweisen auch nicht. Deswegen schreibe ich auch Smiliefrei.


                  @Lennie

                  Danke, mal schaun.

                  Kommentar


                  • #10
                    Sooo,
                    also von Local zu Server funktionierts einwandfrei.
                    Von Server zu Server wird nur der Dateiname wie Dateityp übertragen.
                    Die Datei bleibt jedoch inhaltlos (0kb).

                    Was macht man denn da?

                    Kommentar


                    • #11
                      wieso ssh-zugriff? kannst du nicht exec() ausführen?
                      Was macht man denn da?
                      besser: was machst du denn da?

                      Kommentar


                      • #12
                        mhhh zeig mal deine aktuelle version. hast du es mit einen absoluten pfad versucht?!?
                        Webdesign und Webentwicklung - Plunix.de

                        Kommentar


                        • #13
                          Original geschrieben von penizillin
                          wieso ssh-zugriff? kannst du nicht exec() ausführen?
                          Oha, Linux scheint hier wohl unbekannt zu sein.

                          Nein dies ist nicht möglich, weil der exec() Befehl in einer sogenannten Shell Console eingegeben werden muss. Jedoch muss der Zugriff zu dieser besagten Shell Console erstmal vorhanden sein. Dieser ist nämlich aufgrund Sicherheitsgründe,n bei vielen virtuellen Webspace Paketen abgeschaltet.

                          Also:
                          Kein SSH Zugriff = Keine Befehlsgewalt (Wget, Exec etc. fallen alle flach)

                          @Lennie: Hier ist der Code:
                          Komischerweise wird der Dateiname der extrenen Quelle erfasst wie auch der Dateityp. Aber die Datei hat keinen Inhalt.
                          PHP-Code:
                          <?php
                          if(isset($_POST['start_upload']) && $_FILES['txt_file']['name'] != ""){
                               
                             
                          $local_file $_FILES['txt_file']['tmp_name']; // Defines Name of Local File to be Uploaded

                             
                          $destination_file "/public_html/databank/".basename($_FILES['txt_file']['name']);  // Path for File Upload (relative to your login dir)

                             // Global Connection Settings
                             
                          $ftp_server "ftp.xxxxxxxx.com";      // FTP Server Address (exlucde [url]ftp://[/url])
                             
                          $ftp_user_name "xxxxxxx";    // FTP Server Username
                             
                          $ftp_user_pass "xxxxxxx";      // Password

                             // Connect to FTP Server
                             
                          $conn_id ftp_connect($ftp_server);
                             
                          // Login to FTP Server
                             
                          $login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);
                             
                             
                          // Verify Log In Status
                             
                          if ((!$conn_id) || (!$login_result)) {
                                 echo 
                          "FTP connection has failed! <br />";
                                 echo 
                          "Attempted to connect to $ftp_server for user $ftp_user_name";
                                 exit;
                             } else {
                                 echo 
                          "Connected to $ftp_server, for user $ftp_user_name <br />";
                             }

                             
                          $upload ftp_put($conn_id$destination_file$local_fileFTP_BINARY);  // Upload the File
                             
                             // Verify Upload Status
                             
                          if (!$upload) {
                                 echo 
                          "<h2>FTP upload of ".$_FILES['txt_file']['name']." has failed!</h2><br /><br />";
                             } else {
                                 echo 
                          "Success!<br />" $_FILES['txt_file']['name'] . " has been uploaded to " $ftp_server $destination_file "!<br /><br />";
                             }

                             
                          ftp_close($conn_id); // Close the FTP Connection
                          }
                          ?>

                          <html>
                             <head>
                                 <script type="text/javascript">
                                     window.onload = function() {
                                         document.getElementById("progress").style.visibility = "hidden";
                                         document.getElementById("prog_text").style.visibility = "hidden";
                                     }
                                     
                                     function dispProgress() {
                                         document.getElementById("progress").style.visibility = "visible";
                                         document.getElementById("prog_text").style.visibility = "visible";
                                     }
                                     
                                 </script>
                                 
                             </head>
                             <body>
                                 <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST" enctype="multipart/form-data">
                                     Please choose a file: <input name="txt_file" type="file" size="35" />
                                     <input type="submit" name="start_upload" value="Upload File" onClick="dispProgress()" />
                                 </form>
                                 
                                 <!-- Link to progress file: see [url]http://www.ajaxload.info/[/url] for animated gifs -->
                                 <img id="progress" src="http://www.your.site/images/progress.gif" />
                                 <p id="prog_text" style="display:inline;"> Upload Started!</p>
                                 
                             </body>
                          <html>

                          Kommentar


                          • #14
                            Nein dies ist nicht möglich, weil der exec() Befehl in einer sogenannten Shell Console eingegeben werden muss.
                            das ist quatsch, exec() ist eine php funktion und wird auf dem rechner ausgeführt, auf dem der webserver läuft und php interpretiert.
                            Jedoch muss der Zugriff zu dieser besagten Shell Console erstmal vorhanden sein.
                            nein, ob dein hoster dir einen ssh-zugang erteilt, hat nichts damit zu tun, ob du exec() ausführen darfst.
                            Dieser ist nämlich aufgrund Sicherheitsgründe,n bei vielen virtuellen Webspace Paketen abgeschaltet.
                            also ist exec() gesperrt? das wäre eine antwort auf meine frage (wenn auch falsch begründet).

                            zu deinem code: setze $local_file testweise auf eine lokale (für das php-script) text-datei. evtl. darf php nicht ohne weiteres aus dem temp ordner lesen.

                            Kommentar

                            Lädt...
                            X