$file est un fichier et is_file($file) renvoie false ???
Posté : 01 nov. 2008, 14:58
Bonjour,
Migrant les innombrables fichiers HTM et PHP d'un site d'ISO-8859-1 en UTF-8,
je me suis dit : je vais me bricoler une moulinette pour encoder toutes ces pages.
Voici ci-dessous le script en question... qui ne fonctionne pas.
Il se trouve que pour tous les fichiers
(pourtant bien identifiés lors du scan du dossier iso)
is_file($file) renvoie false.
Pourquoi mes fichiers ne sont-ils pas reconnus ?
Migrant les innombrables fichiers HTM et PHP d'un site d'ISO-8859-1 en UTF-8,
je me suis dit : je vais me bricoler une moulinette pour encoder toutes ces pages.
Voici ci-dessous le script en question... qui ne fonctionne pas.
Il se trouve que pour tous les fichiers
(pourtant bien identifiés lors du scan du dossier iso)
is_file($file) renvoie false.
Pourquoi mes fichiers ne sont-ils pas reconnus ?
<table>
<?php
$handle = opendir('iso');
while ($file = readdir($handle))
{ if (is_file($file)) // <------------------------------ renvoie FALSE ???
{ $extension = substr($file, -3, 3);
if ($extension=='php' || $extension=='htm')
{ echo '<tr><td>'.$file.'</td>'."\n";
$contenu = file_get_contents($file);
if ($contenu)
{ $contenu_new = html_entity_decode($contenu,ENT_NOQUOTES,'UTF-8'); // convertit les "é" en "é"
$contenu_new = utf8_encode($contenu_new); // convertit les "é" ISO en "é" UTF-8
$ecriture = file_put_contents('utf8'.$file,$contenu_new);
echo '<td>'.($ecriture ? 'OK' : '-----').'</td></tr>'."\n";
}
else
{ echo '<td>Conversion non effectuée</td></tr>'."\n";
}
}
}
}
closedir($handle);
?>
</table>