lundi 19 novembre 2007
Warning: copy() failed to open stream: Permission denied sur un fichier is_readable
Dans la rubrique PHP / PEAR
<?php $fn = 'file.txt'; echo '<br />is_file: '; $r = is_file($fn); var_export($r); echo '<br />is_executable: '; $r = is_executable($fn); var_export($r); echo '<br />is_readable: '; $r = is_readable($fn); var_export($r); echo '<br />is_writable: '; $r = is_writable($fn); var_export($r); echo '<br />is_resource: '; $r = is_resource($fn); var_export($r); echo '<br />filetype: '; $r = filetype($fn); var_export($r); copy($fn,'cp'.$fn); highlight_file(__FILE__); ?>
Résultat :
is_file: true is_executable: false is_readable: true <--- is_writable: true <--- is_resource: false filetype: 'file' Warning: copy(file.txt) function.copy: failed to open stream: Permission denied in C:\...\test.php on line 10
Qu'est-ce qui peut faire planter un copy d'un fichier readable et d'une cible writable ?
Et bien le test est fait sous vista et le fichier à copier est "chiffré"
Reste à trouver une chose, comment tester le fichier pour savoir s'il est "chiffré" avant de tenter la copie.
J'ai essayé un dernier truc : chiffrer le script lui même.
Résultat, php ne sait même plus le lire
Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
Conclusion Ce problème reste mineur parce que il ne se présente qu'en développement (malgrès les récentes annonces, je n'oserai une prod sur windows) mais c'est un problème bête qui m'est arrivé au cours d'un développement et on perd inutilement du temps à chercher l'origine de l'erreur.


4
-![[T]](http://static.technorati.com/pix/icn-talkbubble.gif)






