PHP:使用爆炸scandir时未定义的偏移量

时间:2015-05-29 06:41:37

标签: php undefined offset explode scandir

<?php
$dir = "user/jas527/uploads/";
$a = scandir($dir);
for($i=2;$i<$a;$i++){
print_r(explode('.',$a[$i]));
}
?>

我试图爆炸目录的文件名。 但我收到了一个错误。

4 个答案:

答案 0 :(得分:1)

像这样进行修正

   for($i=2; $i<count($a); $i++){

答案 1 :(得分:1)

使用foreach而不是for,你不知道那里有多少文件,而且使用foreach非常简单。

foreach($a as $file){
    print_r(explode('.',$file));
}

答案 2 :(得分:0)

scandir从目录(ref)返回数组的文件和目录。你需要for-loop数组的长度。您可以使用count()获得此作品。

scandir

count

将您的for循环更改为

<?php
$dir = "user/jas527/uploads/";
$a = scandir($dir);
// for($i=2;$i<$a;$i++){
for($i=2; $i<count($a); $i++){
    print_r(explode('.',$a[$i]));
}

答案 3 :(得分:0)

scandir从目录返回一个文件和目录数组。你必须得到elemeny的总数。你忘了count来获取array中的元素总数

for($i=2;$i<count($a);$i++){

阅读count()