2012-12-16 123 views
0

對我來說這是一個神祕的原因。所以這裏是代碼:使用opendir/readdir函數後重復使用文字

$dir = 'test/'; 
$de = opendir($dir); 
if ($de) { 
    while (($file = readdir($de)) !== false) { 
     $path = $dir . $file; 
     $file_title = 'this text gets repeated three times, each followed by a dot' . $file; 
     echo $file; 
    } 
} else { 
    echo "invalid directory"; 
} 

所以如果$ file = video.mp4和$ file_title ='file name'。$ file;它看起來像這樣:

'file name.file name.file namevideo.mp4',如果在變量之前沒有字符串,即$ file_title = $ title,那麼變量之前會有三個點:。 ..video.mp4

如果任何人有任何想法發生了什麼,請讓我知道。謝謝。

+2

請格式化你的代碼和你的問題,因此它是可讀的。 – DaveRandom

+0

glob()然後使用它的數組我更容易爲你。 – 2012-12-16 19:07:17

+0

提供最小的可讀性。 –

回答

2

您列出...目錄,用is_file()檢查,以便該條目是一個真正的文件,而不是一個目錄:

if(is_file($dir.$file)): 
    // entry is a file 
endif; 

在這裏,你可以閱讀更多關於dot目錄:There's a lot in the dot

2

由於代碼中包含循環,因此會得到重複文本。這就是while所做的:它反覆運行代碼。