$file est un fichier et is_file($file) renvoie false ???

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : $file est un fichier et is_file($file) renvoie false ???

par Berzemus » 01 nov. 2008, 18:00

T'aurais dû le faire en Perl, tu te serais moins fait chier :mrgreen:
+++

:twisted:

par albat » 01 nov. 2008, 15:23

T'aurais dû le faire en Perl, tu te serais moins fait chier :mrgreen:
Sans doute, mais mon niveau en Perl est... :-*
Et puis, je ne suis pas inscrit sur PerlFrance ! :langue:

Taquin, va ! ;)

par albat » 01 nov. 2008, 15:22

:oops:

Merci, merci, merci ! :agenouille:

par Sékiltoyai » 01 nov. 2008, 15:14

T'aurais dû le faire en Perl, tu te serais moins fait chier :mrgreen:

par Calimero » 01 nov. 2008, 15:06

Remplace :
      { if (is_file($file)) // <------------------------------ renvoie FALSE ???
Par :
      { if (is_file('iso/'.$file)) // mieux non ?
C'est une erreur très courante qu'on rencontre à peu près une fois par mois sur le forum ;-) opendir() ouvre le répertoire en lecture mais ne rentre pas dans ce répertoire (il faudrait pour cela un chdir() ). Ton script continue à opérer depuis son répertoire d'éxécution, ce qui impose dans ta boucle de préfixer les chemins par le répertoire racine de ton parcours.

$file est un fichier et is_file($file) renvoie false ???

par albat » 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. :shock:

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 "&eacute;" 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>