Ik probeer een FTP manager te maken met PHP. Opzich werkt die maar als een folder wil openen die maar beetje groot is (30 bestanden/folders) dan werkt het niet meer.

Doe ik iets fout?

$login = @ftp_login($conn, $ftpUser, $ftpPass)
$nodes = array();
if(is_array($fList)){
	for($i = 0; $i < sizeof($fList); $i++){ 
		if($fList[$i] == '.' || $fList[$i] == '..' || substr($fList[$i], 0, 1) == '.')continue;
		if(@ftp_chdir($conn,'/phpBB3/source/'.$node.'/'.$fList[$i])){ 
			$nodes[] = array('text'=>$fList[$i], 'id'=>$node.'/'.$fList[$i], 'cls'=>'folder');
		}
		else{
			$nodes[] = array('text'=>$fList[$i], 'id'=>$node.'/'.$fList[$i], 'cls'=>'file', 'leaf'=>true);
			
		}
	
	}
}
else{
	echo "$workingDir contains no files.";
}
ftp_quit($conn);
Ik denk dat dat komt doordat je relatief vaak ftp_chdir aanroept. Iedere keer dat je die aanroept moet je script wachten op antwoord van de FTP Server.

Wanneer je [php]ftp_rawlist[/php] gebruikt kan je aan de hand van het eerste karakter van dat ding achter de naam van een bestand zien wat voor iets het is. Dan zijn al die ftp_chdir aanroepen niet meer nodig zolang je maar 1 map wilt doorlopen.

Reageren