noSnoR
Messages postés62Date d'inscriptionsamedi 5 mars 2005StatutMembreDernière intervention11 avril 2006
-
20 nov. 2005 à 03:00
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
22 nov. 2005 à 10:43
voilà ce qui s'affiche lorsque j'accede à ma page :
"
Warning: fclose(): supplied argument is not a valid stream resource in compteur.php on line 16
Warning: Missing argument 4 for write() in compteur.php on line 3
"
Et ce pendant assez longtemps... Je crois apercevoir le probleme, j'ai tester la recursivité d'une fonction, que voici :
3 function write($file,$str,$bl,$mode)
{
if(($fichier =@fopen($file,$mode))!==FALSE)
{
if($bl)
{
$str = stripslashes($str);
}
fputs($fichier,$str);
fclose($fichier);
}else
{
$fichier =@fopen($file,'a');
16 fclose($fichier);
write($file,$str,$bl,$mode);
}
}
J'ai mis les numeros de ligne en face des elements incriminés...
à la limite j'aurais pu m'arranger de tout cela, mais je me pose des questions :
Sous easyPhp, ça marche nickel, et tout le script n'a pas de bug connu...
Une fois tranféré sous free, ces erreurs interviennent...
Une idée ? Je debute en Php, donc pas d'explication trop technique,
merci, juste un piti truc tout simple, LA solution qui ne m'est pas
apparue au bon moment, ou même comment remplacer ceci convenablement
pour que free l'accepte...
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 20 nov. 2005 à 10:23
"Missing argument 4 for write() in compteur.php on line 3"
Manque $mode...
"Warning: fclose(): supplied argument is not a valid stream resource in compteur.php on line 16"
C'est que $fichier ou $file n'est pas un fichier valide.
Au passage : "$fichier =@fopen($file,'a');
16 fclose($fichier);"
A quoi ca te sert d'ouvrir un fichier (qui n'en ai pas un en même temps, je rejoind Antho sur l'idée) pour le fermer tout de suite après ?
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006 20 nov. 2005 à 14:08
Warning: fclose(): supplied argument is not a valid stream resource in compteur.php on line 16
Ça, ça veut dire que $fichier n'est pas une ressource valide. Il
suffit donc de regarder quelle est la dernière valeur assignée. Il se
trouve que c'est fopen($file,'a').
Le problème est que cette expression se trouve dans un else qui est executé si ($fichier =@fopen($file,$mode)) == FALSE,
donc que si le fichier ne peut être ouvert! Soit parce qu'il n'existe
pas, soit parce qu'il est inaccessible dans le mode $mode.
Donc il est probable que $fichier vale FALSE et c'est pourquoi fclose($fichier); renvoie une erreur
Warning: Missing argument 4 for write() in compteur.php on line 3
Ça, ça veut dire que t'as oublier le quatrième argument ($mode) lorsque tu as appelé ta fonction write().
*viens de s'apercevoir qu'il a dit exactement la même chose que FhX <_<*
Bon ben je poste quand même, mais je suis d'accord avec FhX, les lignes 15 et 16 sont totalements inutiles.