PDA

Просмотр полной версии : Мистика какая-то


kik8888
17.11.2008, 13:23
Ни как не могу понять почему скрипт выдает ошибку.
Parse error : syntax error, unexpected '}' in kol.inc.php on line 25
Скрипт должен считать сколько файлов в подкаталогах каталога folder.(там только подкаталоги и index.php)
Помогите найти ошибку.

<?
function kol($papka){

$dp=opendir($papka);
$f=array();
$i=0;
while($file = readdir($dp)){
if($file!="." && $file!=".." && $file!="index.php"){
$f[$i]=$file;
$i++;
};
};
closedir($dp);
$kol_papok=$i;

$ii=0;
foreach($f as $v)
$arr=scandir($papka."/".trim($v));
echo $ii=$ii+count($arr)-5;
};//end foreach
$kol=$ii;
return $kol;

};//end function
echo kol("/folder");
?>

Пробывал убрать последнюю "}", получаю:
Notice : Undefined variable: ii kol.inc.php on line 22

-=lebed=-
17.11.2008, 13:29
Исправил, забыл откр. скобку:

<?
function kol($papka){

$dp=opendir($papka);
$f=array();
$i=0;
while($file = readdir($dp)){
if($file!="." && $file!=".." && $file!="index.php"){
$f[$i]=$file;
$i++;
};
};
closedir($dp);
$kol_papok=$i;

$ii=0;
foreach($f as $v) { //<- вот тут!
$arr=scandir($papka."/".trim($v));
echo $ii=$ii+count($arr)-5;
};//end foreach
$kol=$ii;
return $kol;

};//end function
echo kol("/folder");
?>

Vid0k
17.11.2008, 13:30
<?
function kol($papka)
{

$dp=opendir($papka);
$f=array();
$i=0;
while($file = readdir($dp))
{
if($file!="." && $file!=".." && $file!="index.php")
{
$f[$i]=$file;
$i++;
}
}
closedir($dp);
$kol_papok=$i;

$ii=0;
foreach($f as $v)
{
$arr=scandir($papka."/".trim($v));
echo $ii=$ii+count($arr)-5;
}//end foreach
$kol=$ii;
return $kol;
}
//end function
echo kol("/folder");
?>

проверь должно работать
после скобок '}'циклов,операторов сравнения,ф-ий не надо ставить ';'
и пропустил скобку после условия цикла foreach

kik8888
17.11.2008, 13:35
Точно. Скобку то я и не заметил что не поставил. Спасибо.
А с ";" это уже привычка выработалась везде ставить.

kik8888
17.11.2008, 14:49
Пишу в новой теме, так как старую закрыли. Как не странно, но работать не стало. В комментах я написал что происходит.

<?
function kol($papka){

$dp=opendir($papka);
$f=array();
$i=0;
while($file = readdir($dp)){
if($file!="." && $file!=".." && $file!="index.php"){
$f[$i]=$file;
$i++;
};
};
closedir($dp);
$kol_papok=$i;
print_r($f);//выводит правильно
$ii=0;
foreach($f as $v){
print_r($arr=scandir($papka."/".trim($v)));//выводит правильно
echo $ii=$ii+count($arr)-5;//выводит правильно, но в последнем повторении цикла ничего не выводит
};//end foreach
echo $kol=$ii;//ничего не выводит
return $kol;

};//end function
echo kol("folder");//ничего не выводит
?>

Млин, почему так...

astrologer
17.11.2008, 15:27
<?php

$files = glob('folder/*/*.*');
$amount = count($files);

echo $amount;

?>

Rebz
17.11.2008, 15:33
/* тему открыл и объединил в одну */