PEAR-Forum.de Übersicht Thema anzeigen - Pear Net_FTP execute führt nichts aus

Pear Net_FTP execute führt nichts aus


 

PEAR-Forum.de Übersicht » Networking
Neues Thema eröffnen Neue Antwort erstellen Diesen Beitrag ausdrucken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Gomez
Neuer User


Anmeldungsdatum: 24.08.2007
Beiträge: 4

Beitrag16.09.2007 17:57    Pear Net_FTP execute führt nichts aus Antworten mit Zitat

Hi Pear Folks,

ich erstelle gerade ein Script um auf einen FTP Server zuzugreifen. Soweit funktioniert auch alles. Ein Teil des Scriptes connected und holt sich schon listen des Verzeichnisinhaltes.

Nun möchte ich einen "besonderen" Befehl auf dem Server ausführen. Dazu habe ich den Net_FTP::execute() Befehl gefunden. Nur funktioniert er leider nicht wie er soll. Hier ein mal mein Code:
Code:

$ftp=new Net_FTP();
$res=$ftp->connect('192.168.0.0', 21); // Verbindung aufbauen
  if (PEAR::isError($res)) // Ist ein Fehler aufgetreten?
   {
     die ($res->getMessage());
   }

     $res=$ftp->login($user,$passwort); //Authentifizieren
     if (PEAR::isError($res)) // Ist ein Fehler aufgetreten?
      {
       die ($res->getMessage());
      }
$ftp->setPassive();
//Weitere ftp-Befehle
$ftp->cd("/");
$who = $ftp->execute("MKD test");
     if (PEAR::isError($who)) // Ist ein Fehler aufgetreten?
      {
       die ($who->getMessage());
      }


Als Fehler kommt immer: Execution of command 'MKD test' failed.

hat den execute jemand erfolgreich im einsatz?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Berdir
Power User


Anmeldungsdatum: 22.09.2005
Beiträge: 1347

Beitrag17.09.2007 8:24     Antworten mit Zitat

Die Methode scheint mehr oder weniger ein Wrapper für die PHP-Funktion ftp_exec zu sein:

http://ch2.php.net/ftp_exec

Gemäss der Beschreibung und den Kommentaren ist diese Funktionalität Server-seitig oftmals nicht implementiert. Und wenn ich das richtig verstehe, werden damit nicht FTP-Kommandos ausgeführt, sondern wirkliche Server-Binaries. Der Befehl um einen Ordner zu erstellen heisst zumindest uner *nix nicht MKD sondern mkdir Wink

PS: Net_FTP hat eine Methode um einen Ordner zu erstellen. Ich gehe aber davon aus, das dies nur ein Test war und du eigentlich andere Sachen damit machen willst.

PPS: Wenn du wirklich Befehle auf dem Server ausführen willst, würde ich eher ssh2 Extension einsetzen, die hat zwar auch ihre Tücken, ist aber wesentlich sicherer...
http://ch2.php.net/ssh2
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden PEAR-User
Gomez
Neuer User


Anmeldungsdatum: 24.08.2007
Beiträge: 4

Beitrag17.09.2007 9:55     Antworten mit Zitat

Moin Berdir,

vielen Dank! Jetzt verstehe ich wesentlich mehr.

Du hast recht, ich möchte nicht mkdir oder ähnliches ausführen, sondern spezielle Befehle, die der FTP-Server anbietet (glftp, site Commands).

Was ist unter Server-Binaries zu verstehen? Wäre das "ls -al" und "mkdir"? Darunter fallen nicht die "site"-Commands von glftpd?

ftp_raw wäre ein besser Kandiat für so ein Zweck?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Berdir
Power User


Anmeldungsdatum: 22.09.2005
Beiträge: 1347

Beitrag17.09.2007 11:06     Antworten mit Zitat

Gomez hat folgendes geschrieben:

Was ist unter Server-Binaries zu verstehen? Wäre das "ls -al" und "mkdir"? Darunter fallen nicht die "site"-Commands von glftpd?


So habe ich es jedenfalls verstanden, was nicht heissen muss das es stimmt, habe das noch nie eingesetzt. Habe ich das richtig verstanden, dass du im Prinzip ein "SITE XYZ" machen willst? execute macht ja ein "SITE EXEC XYZ".

Gomez hat folgendes geschrieben:

ftp_raw wäre ein besser Kandiat für so ein Zweck?


Gemäss der Beschreibung kannst du damit jedenfalls machen was du willst, musst aber auch selber die Rückgabe parsen etc. Es scheint jedoch keine entsprechende Funktion in Net_FTP zu geben, aber das lässt sich ja leicht ändern..

PHP:
<?php
class MyFTP extends Net_FTP
{
     function 
raw($command)
     {
          
// Das kannst du ja dann beliebig ausbauen und 
          // z.B. die Rückgabe schonmal parsen etc...
          
return ftp_raw($this->_handle$raw);
      }
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden PEAR-User
Gomez
Neuer User


Anmeldungsdatum: 24.08.2007
Beiträge: 4

Beitrag18.09.2007 8:37     Antworten mit Zitat

Nochmal vielen Dank, Berdir!

werde es die nächsten Tage testen und dann mal berichten.

Gruss
Gomez
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Diese Seite übersetzen
PEAR-Forum.de Übersicht » Networking
Neues Thema eröffnen Neue Antwort erstellen Diesen Beitrag ausdrucken
   Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Zu Deinen Favoriten hinzufügen

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen