我一直在關注readdir(),is_dir()等教程,這些教程是基於FTP上的文件夾和文件設置小型圖庫。我想知道$ directorys [] = $文件;部分具體是嗎?
while($file= readdir($dir_handle))
{
if(is_dir($file)){
$directorys[] = $file;
}else{
$files[] = $file;
}
}
我一直在關注readdir(),is_dir()等教程,這些教程是基於FTP上的文件夾和文件設置小型圖庫。我想知道$ directorys [] = $文件;部分具體是嗎?
while($file= readdir($dir_handle))
{
if(is_dir($file)){
$directorys[] = $file;
}else{
$files[] = $file;
}
}
它將一個項目推送到數組而不是array_push
,它只會將一個項目推送到數組。
使用array_push
和$array[] = $item
的工作原理相同,但使用array_push
並不理想,因爲它適合於推送陣列中的多個項目。
實施例:
Array (
)
這樣$array[] = 'This works!';
或array_push($array, 'This works!')
後它會出現這樣的:
Array (
[0] => This works!
)
您也可以推陣列到一個數組,像這樣:
$array[] = array('item', 'item2');
Array (
[0] => Array (
[0] => item
[1] => item2
)
)
它添加了目錄到directory
陣列:)
if(is_dir($file)){
$directorys[] = $file; // current item is a directory so add it to the list of directories
}else{
$files[] = $file; // current item is a file so add it to the list of files
}
但是如果你使用PHP 5我真的建議使用DirectoryIterator
。
順便說一句,$file
真的很糟糕,因爲它並不總是一個文件。
它在數組的末尾創建一個新的數組元素併爲其分配一個值。
$文件將包含已掃描項目的名稱。在這種情況下,使用is_dir($ file)可以檢查當前目錄中的$文件是否是目錄。
然後,使用標準陣列追加操作符[]中,$文件名或目錄名添加到$文件/ $ directorys陣列...
$directory
是一個數組。
代碼
$directory[] = $file
增加$file
到$directory
數組的末尾。這與
array_push($directory, $file)
相同。在array_push
更多信息以phpdocs
因此,您的代碼讀取文件/文件夾列表,並將它們分爲兩個數組:$ directorys和$ files – MrGlass 2012-01-09 20:26:22
感謝這有助於爲對方回覆了很多,謝謝。 – crm 2012-01-09 20:34:58