[PHP] Filesize Stat failed

Fermé
touillettes - 30 déc. 2009 à 16:18
scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 - 30 déc. 2009 à 19:23
Bonjour,
j'ai un petit probléme avec filesize

En gros j'utilise filesize dans une boucle il réussi une fois (la 3iéme fois) et apres la fonction Plante (Stat Failed)
je vous met les erreurs qui apparraisse dans la page et le la fonction qui bug

Erreur :
Warning: filesize() [function.filesize]: stat failed for checkmail.php in /Users/Phoenix/Sites/j2/my_file_manager/mange_files.php on line 75

Warning: filesize() [function.filesize]: stat failed for clock.png in /Users/Phoenix/Sites/j2/my_file_manager/mange_files.php on line 75

Warning: filesize() [function.filesize]: stat failed for lol in /Users/Phoenix/Sites/j2/my_file_manager/mange_files.php on line 75

Warning: filesize() [function.filesize]: stat failed for lol.txt in /Users/Phoenix/Sites/j2/my_file_manager/mange_files.php on line 75

Warning: filesize() [function.filesize]: stat failed for Mac OS X Folder in /Users/Phoenix/Sites/j2/my_file_manager/mange_files.php on line 75


et le code :

function list_dir($name) {

if ($dir = opendir($name)) {

while($file = readdir($dir))
{
if($file == "." || $file == "..")
continue ;
$taille=filesize($file); /*La ligne 75 ou se trouve le BUG*/
$ext=strrchr($file, '.');
$ext=substr($ext,1);

if(empty($ext))
$ext="Pas d'extension";

echo "
<tr class='ligneTabQuad2'>
<td width='15%' align='left'>$file</td>
<td width='15%' align='left'> $ext</td>
<td width='15%' align='left'>$taille</td>
<td width='20%' align='left'>$file</td>


</tr>";

if(is_dir($file) && !in_array($file, array(".",".."))) {

list_dir($file);

}

}

closedir($dir);

}

}


La fonction liste le contenu des répertoire et ensuite je récupère l'extension et la taille.

Merci d'avance pour vos réponse
A voir également:

1 réponse

scriptiz Messages postés 1424 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 septembre 2023 425
30 déc. 2009 à 19:23
Sans être certain, il me semble que tu ne peux pas appeler cette méthode sur des répertoires, fait donc un test du style if(is_dir($file)) continue;

Mais bon il faudrait voir la doc et si tu as en effet des sous-dossiers.

0