mit fopen von ftp server lesen

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

  • mit fopen von ftp server lesen

    Hallo,
    Ich versuche mit fopen eine Datei auf einem Server zuz öffnen:
    PHP-Code:
    $fd fopen("ftp://ftp.suse.de/pub/suse/i386/7.0/suse1/openssls.rpm""r");

    if (
    $fd)
    { print
    "The file exists!"; }
    else
    { print
    "The file does not exist"; } 
    Die Datei existiert 100%ig, und der server unterstützt PASIVE mode.
    Leider kommt jedoch immer diese Meldung:
    PHP-Code:
    Warningfopen("ftp://ftp.suse.de/pub/suse/i386/7.0/suse1/openssls.rpm""r") - Success in /home/www/test.php on line 20
    The file does not exist 
    Nach der PHP Dokumentation müsste der obere Code eigentlich funken.

    Hat jemand eine Ahnung an was das liegen könnte?

    danke,
    Money making - Find the right advertisers
    Earn money
    FXP&PHP

  • #2
    ...hmm, ich schätze du mußt da nen usernamen und passwort mitschicken, wie dat bei ftp halt so üblich ist.

    $fp = fopen ("ftp://userassword@ftp.suse.de/pub/suse/i386/7.0/suse1/openssls.rpm", "r");
    eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

    Kommentar


    • #3
      das habe ich auch schon probiert, aber funkt leider auch nicht.

      Kann es sein, dass im PHP Safe-Mode fopen bei FTP servern nicht funkt? (bei http servern funkt es ohne probs).
      Money making - Find the right advertisers
      Earn money
      FXP&PHP

      Kommentar


      • #4
        Ich habe es unter WAMP (PHP Version 4.2.0) mit safe_mode = OFF probiert und es hat auch nicht gefunzt, daran kann es also nicht liegen. Ansich sollte es aber funktionieren. Ich habe noch nie einen fopen() auf ftp machen müssen, deshalb kann ich nix drüber sagen. fopen("http:...) funktioniert aber bei mir.

        Ich habe woanders Hinweise bekommen:
        Selbes Problem -> Lösung: Umgehung mit Hilfe von ftp-Funktionen http://www.php.net/manual/de/ref.ftp.php
        Wäre das eine Lösung für Dich?

        Kommentar


        • #5
          leider sind die FTP Funktionen keine Lösung, da ich ja gerade versuche, diese durch fopen zu "ersetzen".
          Money making - Find the right advertisers
          Earn money
          FXP&PHP

          Kommentar


          • #6
            Hi,

            in der phpinfo() nachgeschau. ob FTP aktiviert ist?
            Yuppi, endlich Elite ...

            Kommentar


            • #7
              ja, ich habe die FTP Extensions aktiviert.
              Aber wie gesagt, ich möchte Dateien von einem FTP per fopen() öffnen.
              Money making - Find the right advertisers
              Earn money
              FXP&PHP

              Kommentar


              • #8
                N´Abend!

                Ich schau gerade in mein Refenzbuch ... achja! Du bist im falschen Märchen:

                PHP-Code:
                // Verbindung
                $host   "ftp.dein-host.de";
                $name "Administrator";
                $pass  "passwd";
                $open =$ftp_connect($host);
                if(
                $open) {
                           echo 
                "Verbindung zu $host hergestellt.<br>\n";
                           
                logged ftp_login($open,  $name$pass);
                           if (
                $logged) {
                                            echo 
                "Anmeldung erfolgt<p>";
                           }
                }

                // File downloaden und bearbeiten in temp Datei 
                // und wieder uploaden mit protokollierter Ausgabe
                // temp wird danach gelöscht
                $dir ="/wwwroot";
                $back ="backup";
                $list =ftp_rawlist($open$dir);
                @
                ftp_mkdir($open$back);
                foreach(
                $list as $entry) {
                      if (
                substr ($entry01) == "-") {
                         
                $s =split("[ \t]+"$entry);
                         
                $file = $[8];
                         echo 
                "Lade: $dir/$file ...";
                         
                ftp_get($open"/temp/$file""$dir/$file"FTP_BINARY);
                         echo 
                "Screibe: /$back/$file<br>";
                         
                ftp_put($open"/back/$file""/temp/$file"FTP_BINARY);
                         
                unlink ("/temp/$file");
                      } 
                // if
                // foreach 
                sollte laufen.

                Hoffe, konnte Dir helfen

                Blaster
                Zuletzt geändert von Blaster; 05.07.2002, 21:09.
                Yuppi, endlich Elite ...

                Kommentar


                • #9
                  mit den FTP Funktionen funkt es sowieso.

                  aber ich möchte es mit fopen öffnen...
                  Money making - Find the right advertisers
                  Earn money
                  FXP&PHP

                  Kommentar


                  • #10
                    Wie jetzt?!

                    Mit Host-Script File öffnen, oder wie?! - Das hat aber nix mit FTP zu tun.
                    Yuppi, endlich Elite ...

                    Kommentar


                    • #11
                      nach der PHP Dokumentation sollte die funktion fopen sowohl local, als auch files auf FTP und HTTP servern öffnen.

                      2eres möchte ich machen.

                      Grundsätzlich ist es natürlich sinnvoller files von FTPs über die ftp functions (ftp_get, ftp_put,...) zu ziehen, aber es gibt auch hosts, wo diese nicht installiert bzw. aktiviert sind.
                      Money making - Find the right advertisers
                      Earn money
                      FXP&PHP

                      Kommentar


                      • #12
                        @all
                        PHP-Code:
                        $fd fopen("ftp://ftp.suse.de/pub/suse/i386/7.0/suse1/openssls.rpm""r");
                        if (
                        $fd) {
                           print 
                        "Funktioniert";
                        } else {
                           print 
                        "Funktioniert nicht !!!";

                        Das Problem nochmals:
                        o.a. fopen() funktioniert nicht, obwohl File existent ist.

                        Bei mir auch nicht
                        [WAMP (PHP Version 4.2.0) mit safe_mode = OFF].

                        Vielleicht ist der Fehler PHP-Versionsabhängig?

                        Könnt ihr das mal bei Euch testen obs bei Euch funktioniert und dann Bescheid geben (inkl. PHP Version)?

                        Kommentar


                        • #13
                          Vielleicht das hier ??
                          [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                          [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                          [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                          © Harald Schmidt

                          Kommentar


                          • #14
                            Auch unter LAMP (PHP Version 4.0.6) mit
                            safe_mode = OFF und
                            allow_url_fopen = On
                            funzt es nicht:

                            Fehlermeldung: Warning: fopen("ftp://ftp.suse.de/pub/suse/i386/7.0/suse1/openssls.rpm","r") - Success in /usr/local/httpd/htdocs/test.php on line 2
                            Zuletzt geändert von hand; 05.07.2002, 22:53.

                            Kommentar


                            • #15
                              ich habe mir die funktion fopen() einmal hier angeschaut:
                              http://www.php.net/source.php?url=/m...tion.fopen.php

                              Anscheinend verwendet fopen() auch die FTP Extensions (dies erklärt natürlich nicht, warum fopen("ftp...","r") bei installierten FTP Extensions nicht funktioniert!).
                              Money making - Find the right advertisers
                              Earn money
                              FXP&PHP

                              Kommentar

                              Lädt...
                              X