Page 1 sur 2
erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:03
par jerlotrie
Bonjour , voici l'erreur que je viens d'avoir recement sur mon site :
Warning: fread() [function.fread]: Length parameter must be greater than 0. in /mnt/162/sdb/a/c/countrywesterntroup/compteur.php on line 33
Voici donc le code source de la page en question , pouvez vous m'aider car je comprends pas ce que je dois faire , merci d'avance ! ( ps : la ligne 33 ci dessous est celle ci :
$resultat1 = fread ($tmp, filesize ("datacount.php"));
<?php
function ecrire_lien()
{
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$nomadr = $path_parts['basename'];
include("datacount.php");
$continu=1;
$nb_lien = count($Adresse);
for($i = 0; $i < $nb_lien; $i++) {
if ($Adresse[$i]==$nomadr) {
$Compteur[$i]++;
$resultat2 = fopen("datacount.php", "w+");
$ligneajout = "<?php \n";
for($j = 0; $j < $nb_lien; $j++) {
$ligneajout .= "\$Adresse[] = \"".$Adresse[$j]."\";\n \$Compteur[] = ".$Compteur[$j].";\n ";
}
$ligneajout .= "?>";
fputs ($resultat2, $ligneajout);
fclose($resultat2);
$continu=0;
break;
}
else
{
$continu=1;
}
}
if ($continu==1) {
$tmp = fopen("datacount.php", "r");
$resultat1 = fread ($tmp, filesize ("datacount.php"));
fclose($tmp);
$ligneajout = "\$Adresse[] = \"".$nomadr."\";\n \$Compteur[] = 1;\n ?>";
$resultat2 = fopen("datacount.php", "w+");
$ligneajout2 = str_replace("?>", $ligneajout, $resultat1);
fputs ($resultat2, $ligneajout2);
fclose($resultat2);
}
} // fin fonction ecrire_lien()
?>
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:09
par piotrowski-s
edit ton code et utilise la coloration syntaxique stp il sera plus facile de t'aider ainsi.
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:12
par piotrowski-s
on peut voir le fichier compteur.php ?
Eh bien ... Ma conjecture du message d'erreur serait que compteur.php est vide. Par conséquent, fread () ne peut pas lire quelque chose de lui.
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:14
par jerlotrie
on peut voir le fichier compteur.php ?
Eh bien ... Ma conjecture du message d'erreur serait que compteur.php est vide. Par conséquent, fread () ne peut pas lire quelque chose de lui.
ok mais le code ci dessus correspond au fichier compteur ! donc je comprends pas ce que vous me demandez ?
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:18
par piotrowski-s
pardon je voulais dire le fichier datacount.php peut on le voir ?
je pense qu'il est vide.
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:27
par jerlotrie
pardon je voulais dire le fichier datacount.php peut on le voir ?
je pense qu'il est vide.
voila le fichier datacount.php :
<?php
$Adresse[] = "index.php";
$Compteur[] = 118;
$Adresse[] = "indexguirlandes.php";
$Compteur[] = 2;
?>
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:29
par piotrowski-s
essaye de mettre le chemin absolu vers ce fichier.
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:32
par jerlotrie
sinon j'ai ce fichier code en rapport avec le compteur.php , c'est le fichier nommé indexguirlandes.php dont il est fait mention ci dessus :
<?php require"mes_includes/liens.php";
include ("total.php"); // contient les fonction de lecture des compteur
include ("nbconnected.php"); // procédure d'écriture et de test des noimbre de connectés.
include ("compteur.php"); //contient la fonction ecrire_lien
ecrire_lien(); // incrémenter le compteur pour la page encours
?>
<?php
if(file_exists("visiteurs.txt"))
{
print "";
}
else
{
$fp=fopen("visiteurs.txt","a");
fputs($fp,"0");
fclose($fp);
}
?>
<?
if (isset($cool_cookie) && $cool_cookie =="Deja_visite"){
$fichier="visiteurs.txt";
$fp=fopen("$fichier","r+");
$hits=fgets($fp,10);
$v="Nombre de visites" ; $w= $hits;
} else {
setcookie("cool_cookie","Deja_visite",time()+2*3600,"");
$fichier="visiteurs.txt";
$fp=fopen("$fichier","r+");
$hits=fgets($fp,10);
$hits++;
fseek($fp,0);
fputs($fp,$hits);
fclose($fp);
$count++;
$v="Nombre de visites" ; $w= $hits;
}
?>
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:33
par jerlotrie
essaye de mettre le chemin absolu vers ce fichier.
est ce le fichier code contenu dans le message ci dessus que vous souhaitez voir ? qu appelez vous le chemin absolu ? je debute en php , désolé !
sinon voila l'adresse du site en question :
http://countrywesterntroup.free.fr , rajoute ceci : /datacount.php peut etre pour avoir le chemin absolu !
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:41
par piotrowski-s
regarde le manuel
string fread ( resource $handle , int $length )
fread() lit jusqu'à length octets dans le fichier référencé par handle. La lecture s'arrête lorsqu'une des conditions suivantes apparaît :
length octets ont été lus
la fin du fichier est atteinte
un paquet devient disponible ou le temps socket timeout est passé (pour les flux réseau)
si le flux est lu depuis le buffer, et qu'il ne représente pas un fichier plein, alors au moins une lecture d'un nombre d'octets équivalent à la taille du bloc (habituellement 8192) est réalisée ; suivants les données du buffer précédent, la taille des données retournées peut être supérieure à la taille du bloc.
la clairement ton fichier semble vide.
est tu sûr que le fichier que tu veux lire contient bien les informations ? La clairement il semble vide. en fait ton fichier semble faire 0octets.
d'ou le message d'erreur.
Donc soit le lien vers le fichier est mauvais, soit le fichier est vide, soit...
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:46
par jerlotrie
regarde le manuel
string fread ( resource $handle , int $length )
fread() lit jusqu'à length octets dans le fichier référencé par handle. La lecture s'arrête lorsqu'une des conditions suivantes apparaît :
length octets ont été lus
la fin du fichier est atteinte
un paquet devient disponible ou le temps socket timeout est passé (pour les flux réseau)
si le flux est lu depuis le buffer, et qu'il ne représente pas un fichier plein, alors au moins une lecture d'un nombre d'octets équivalent à la taille du bloc (habituellement 8192) est réalisée ; suivants les données du buffer précédent, la taille des données retournées peut être supérieure à la taille du bloc.
la clairement ton fichier semble vide.
est tu sûr que le fichier que tu veux lire contient bien les informations ? La clairement il semble vide. en fait ton fichier semble faire 0octets.
d'ou le message d'erreur.
Donc soit le lien vers le fichier est mauvais, soit le fichier est vide, soit...
en fait c'est un compteur php pour comptabilisé le nombre de visiteurs du site , ce compteur apparait sur toutes les pages du site et fonctionnait sans probleme encore recement ! donc pouvez vous m'aider pour corriger ce qu'il ne vas pas et faire en sorte que cela fonctionne ? cordialement
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:48
par piotrowski-s
bien je t'ai dis le message d'erreur, après savoir pourquoi ce fichier est vide je ne peux pas te dire...
regarde si le fichier que tu inclu est bien rempli ... La il semble vide.
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:50
par jerlotrie
bien je t'ai dis le message d'erreur, après savoir pourquoi ce fichier est vide je ne peux pas te dire...
regarde si le fichier que tu inclu est bien rempli ... La il semble vide.
merci encore pour votre patience et votre sympathie , mais helas je debute en php et je sais pas de quel fichier vous parlez , le compteur.php ou le database.php ou un autre , bref je ne comprends pas concretement quel est le nom du fichier qui semble vide
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 17:59
par piotrowski-s
ok, peut être que ton fichier compteur.php, il garde en mémoire dans le cache la taille du fichier, essai de rajouter
clearstatcache();
juste avant la ligne 33
Re: erreur php sur mon site , à l'aide svp
Posté : 12 déc. 2012, 18:04
par jerlotrie
ok, peut être que ton fichier compteur.php, il garde en mémoire dans le cache la taille du fichier, essai de rajouter
clearstatcache();
juste avant la ligne 33
helas cela ne fonctionne pas mieux :
Warning: fread() [function.fread]: Length parameter must be greater than 0. in /mnt/162/sdb/a/c/countrywesterntroup/compteur.php on line 34