2015-07-06 4 views
4

У меня есть несколько файлов в папке, и я хочу их пересчитать.Неверный результат sizeof

$folder = "images"; 
$allPics = scandir($folder); 
$result = sizeof($allPics); 
echo $result; 

В результате получается 350, но должно быть 348. Я не понимаю, почему он показывает мне результат +2?

Я что-то не хватает ?!

ответ

5

http://php.net/manual/en/function.scandir.php

При взгляде на документацию вы можете увидеть функцию возврата и «» и «..», поэтому у вас есть еще 2, чем следовало бы.

Вы можете использовать это:

array_diff(scandir($folder), array('..', '.')); 

Чтобы избавиться от точек вы не хотите иметь.

+0

о человеке, как я мог забыть эти точки. Всем спасибо. Я отмечу это как ответ в некоторых случаях. (вы, ребята, очень быстро). :) – samtamtam

1

Вы используете систему UNIX и есть, 2 указателей в каждом каталоге, указатель для родительского dirrectory, что обычно работают на жидком является notted с .. и указатель на текущий каталог, который notted в .

Смежные вопросы