SFTP mit PHP5

U

ulfilas

Aktives Mitglied
Thread Starter
Dabei seit
25.11.2003
Beiträge
101
Reaktionspunkte
0
Die Connection steht, juchuu, allerdings habe ich mit den Boardmitteln die Möglichkeit eine art "readdir" bzw. ftp_rawlist per SFTP hinzubekommen?
 
Sei doch mal ein bisschen mehr --verbose.
Du wirst sehen, das erhöht die Chance auf Antworten enorm ;).
 
;)

was soll ich dazu schreiben. Ich versuche einen automatischen Up-/Download mit PHP und SFTP hinzubekommen. Habe die libssh2 installiert und entsprechend des PHP Manuals eingebunden. Soll heissen, ich bekomme eine SFTP Verbindung zu meinem Server und kann eine *bekannte* Datei mittels fopen herunterladen. Dies auch entsprechend der Anleitung. Ich möchte nun aber Dateien herunterladen, deren Name mir nicht bekannt ist, da diese automatisch auf dem Server bereitgestellt werden.

Also war die Überlegung auf meinem System zu loggen welche Dateien ich schon habe, dazu muss ich aber erstmal wissen, welche Dateien auf dem Server zur Verfügung stehen. Hab dazu nichts gefunden. Der normale FTP Client in PHP hat dazu ftp_rawlist, um die auf dem Server vorhandenen Dateien zu listen. Letztendlich suche ich eine Möglichkeit des "readdir" über SFTP.
 
Im Manual ist folgender Nutzerkommentar:
To scan directorories with SFTP

<?php
$conn = ssh2_connect("localhost", 22);
$sftp = ssh2_sftp($conn);
$dir = "ssh2.sftp://$sftp/var/log/";
while (($file = readdir($dh)) !== false) {
echo "$file\n";
}
closedir($dh);
?>
Ergibt aber keinen Sinn, da muss eine Zeile fehlen. Evtl. ein fopen($dir,'r');?

Im Manual unter fopen steht auch noch was zu sftp, allerdings werde ich da jetzt auf die Schnelle nicht schlau draus. Vlt. hilft Dir das ja weiter, da Du bestimmt tiefer in der Materie drin steckst.

Edit: Hab mir mal kurz die SFTP-Funktionen angeschaut. (Hab noch nie was damit gemacht) Bin mir jetzt ziemlich sicher dass das Beispiel oben funktionieren sollte, wenn Du noch das fopen reinschmuggelst.
 
Zuletzt bearbeitet von einem Moderator:
aha, ich frage mich nur, wo das Handle $dh herkommt. das würde bei $dh=fopen("dir,"r"); schon eher sinn machen. Das Beispiel habe ich nämlich auch gefunden.
 
Ha!

ein

$dh=opendir($dir);
while (($file = readdir($dh)) !== false) {
echo "$file\n";
}

war das fehlende Element. Funzt!
 
Zurück
Oben Unten