hl2.be
Legacy Member
Ik zou graag met een PHP functie een volledige ftp doorlopen en alle map- en bestandsnamen in een array steken. Probleem is dat hij nu de bestandsnamen tot maximum 1 level diep opslaat, de rest zijn alleen de mapnamen.
Dus neem nu bv deze ftp: ftp://ftp.c-logic.be/
De bestanden in de mappen "Formulieren" en "Pers" staat hij op, de bestanden in de map "ASP/ASPprovider/" dan weer niet.
Wat zie ik hier over het hoofd ?
Dus neem nu bv deze ftp: ftp://ftp.c-logic.be/
De bestanden in de mappen "Formulieren" en "Pers" staat hij op, de bestanden in de map "ASP/ASPprovider/" dan weer niet.
Wat zie ik hier over het hoofd ?
PHP:
<?php
$ftp_server = "ftp.c-logic.be";
$ftp_user_name = "anonymous";
$ftp_user_pass = "anonymous";
$ftp_port = 21;
// maak een basis connectie aan
$conn_id = @ftp_connect($ftp_server,$ftp_port);
// meldt je aan met een gebruikersnaam en wachtwoord
$login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// controleer de verbinding
if (!$conn_id) {
echo "FTP connectie is mislukt!<br>";
echo "Probeerde naar $ftp_server te verbinden met de gebruiker $ftp_user_name";
exit;
}
else if (!$login_result) {
echo "Inloggen is mislukt!<br>";
echo "Probeerde in te loggen met de gebruiker $ftp_user_name";
exit;
}
else echo "Verbonden met $ftp_server, als gebruiker $ftp_user_name";
// functies
function browseFTP($conn_id, $dir) {
static $flist = array();
if ($files = ftp_nlist($conn_id, $dir)) {
foreach ($files as $file) {
if (ftp_size($conn_id, $file) == "-1") {
$flist[] = $file;
browseFTP($conn_id, $file);
} else $flist[] = $file;
}
}
return $flist;
}
// haalt data op
$filelist = browseFTP($conn_id, $dir='.');
print_r($filelist);
// sluit de FTP stream
ftp_close($conn_id);
?>