如果while(readdir($dir) !==false) { var_dump()) }
會輸出 “ .” 和“..”已經其他檔案名稱,其中“.”,“..”代表啥意思呀???
不要告訴我表示目前的目錄,及上級目錄,我不理解為什麼會這樣輸出,他們是相對誰的目錄而言的呢??
-
還有就是不管我的目錄層級多少級,都只輸出“.”,“..”為什麼不輸出的、更多的目錄??就自己輸出我的根目錄檔案名稱了呢?例如 我的
$dir = "D:/www/www.test.whk/1111/2222/3333/4444/5555/";
但是我輸出readdir時是
string(1) "."
string(2) ".."
string(8) "test.txt"
bool(false)
bool(false)
bool(false) , 為啥就輸出兩級目錄呢,明明應該是7級目錄的呀??不懂!求解!!
回複內容:
如果while(readdir($dir) !==false) { var_dump()) }
會輸出 “ .” 和“..”已經其他檔案名稱,其中“.”,“..”代表啥意思呀???
不要告訴我表示目前的目錄,及上級目錄,我不理解為什麼會這樣輸出,他們是相對誰的目錄而言的呢??
-
還有就是不管我的目錄層級多少級,都只輸出“.”,“..”為什麼不輸出的、更多的目錄??就自己輸出我的根目錄檔案名稱了呢?例如 我的
$dir = "D:/www/www.test.whk/1111/2222/3333/4444/5555/";
但是我輸出readdir時是
string(1) "."
string(2) ".."
string(8) "test.txt"
bool(false)
bool(false)
bool(false) , 為啥就輸出兩級目錄呢,明明應該是7級目錄的呀??不懂!求解!!
結合樓上們的提議,自己總算搞明白了,
要搞懂 readdir()
函數的用法和Linux目錄結構,
綜上所述,就不能理解了,
常識問題,.目前的目錄,..上級目錄
新增:不好意思,我只看到了第一句問號。。。請查閱文檔:http://php.net/manual/zh/function.readdir.php
樓主要知道,檔案夾也是檔案的一種特別存在形式,你讀取目前的目錄,意思是讀取目前的目錄下的檔案。目前的目錄下只有目前的目錄和上級目錄的控制代碼,當然還有下層目錄的控制代碼和目前的目錄下的檔案。所以你讀到這些,而不會有其他的路徑資訊。
這裡樓主可能多理解下linux的檔案結構,會更好的理解這個問題