Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Мистика какая-то (https://forum.antichat.xyz/showthread.php?t=92180)

kik8888 17.11.2008 13:23

Ошибка в коде
 
Ни как не могу понять почему скрипт выдает ошибку.
Parse error : syntax error, unexpected '}' in kol.inc.php on line 25
Скрипт должен считать сколько файлов в подкаталогах каталога folder.(там только подкаталоги и index.php)
Помогите найти ошибку.
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

Исправил, забыл откр. скобку:
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"); 
?>


Vid0k 17.11.2008 13:30

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"); 
?>

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

kik8888 17.11.2008 13:35

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

kik8888 17.11.2008 14:49

Мистика какая-то
 
Пишу в новой теме, так как старую закрыли. Как не странно, но работать не стало. В комментах я написал что происходит.
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;
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 код:

<?php

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

echo 
$amount;

?>


Rebz 17.11.2008 15:33

/* тему открыл и объединил в одну */


Время: 15:58