2015-07-10 99 views
0

我有以下代码,它显示指定文件夹中的文件名。但是,当文件夹中只有一个文件时,该文件不会显示。显示文件夹中的文件,第一个文件不显示

我在做什么错?

$files = glob("images/properties/*.*"); 

for ($i=1; $i<count($files); $i++) 
{ 
    $image = $files[$i]; 
    echo '$image'; 
} 
+0

'$ i <= count($ files)'? – hoss

回答

2

来自0的PHP索引数组。由于您在1开始循环,因此您总是跳过第一个匹配的文件。而事实上,你对()循环是没有意义的,你也可以同样做

foreach($files as $i => $file) { 
... 
} 

,而不必担心计数或适当终止循环。

1

启动从0:

for ($i=0; $i<count($files); $i++) 

,因为如果只有一个文件,计数($文件)是1从

2

你从1开始,而你的循环,因此退出大于0且你呼应的$image的字符串,而不是它使用单引号的内容('):在效率方面

$files = glob("images/properties/*.*"); 
for ($i=0; $i<count($files); $i++){ 
    $image = $files[$i]; 
    echo "$image\n"; 
} 

,你应该使用foreach

foreach(glob("images/properties/*.*") as $value){ 
    echo "$value\n"; 
} 
+0

非常感谢您的帮助! –