PHP FTP te sloom
mark
21/08/2008 11:23:00Ik 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?
Doe ik iets fout?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$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);
$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);
Gewijzigd op 01/01/1970 01:00:00 door Mark
PHP hulp
23/11/2024 18:21:36Jelmer -
21/08/2008 11:37:00Ik 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 ftp_rawlist 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.
Wanneer je ftp_rawlist 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.