|
|
| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
Gomez Neuer User
Anmeldungsdatum: 24.08.2007 Beiträge: 4
|
16.09.2007 17:57 Pear Net_FTP execute führt nichts aus |
|
|
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 |
|
 |
Berdir Power User
Anmeldungsdatum: 22.09.2005 Beiträge: 1347
|
17.09.2007 8:24 |
|
|
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
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 |
|
 |
Gomez Neuer User
Anmeldungsdatum: 24.08.2007 Beiträge: 4
|
17.09.2007 9:55 |
|
|
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 |
|
 |
Berdir Power User
Anmeldungsdatum: 22.09.2005 Beiträge: 1347
|
17.09.2007 11:06 |
|
|
| 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 |
|
 |
Gomez Neuer User
Anmeldungsdatum: 24.08.2007 Beiträge: 4
|
18.09.2007 8:37 |
|
|
Nochmal vielen Dank, Berdir!
werde es die nächsten Tage testen und dann mal berichten.
Gruss
Gomez |
|
| Nach oben |
|
 |
|
|
|
Zu Deinen Favoriten hinzufügen
|
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
|
|