[RESOLU] erreur php sur mon site , à l'aide svp

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 : [RESOLU] erreur php sur mon site , à l'aide svp

Re: [RESOLU] erreur php sur mon site , à l'aide svp

par piotrowski-s » 12 déc. 2012, 18:53

je suis passé par la je me souviens de mes débuts ^^...

la le problème (je ne sais d'ou il vient) c'est qu'il n'arrive pas à récupérer dynamiquement la taille du fichier.

On a juste utiliser une autre méthode.

Re: erreur php sur mon site , à l'aide svp

par jerlotrie » 12 déc. 2012, 18:44

désolé, supprime cette ligne
rewind($file);

Super , le message d'erreur a disparu !! felicitations !! merci infiniment !!!

merci merci et encore merci de ta disponibilité ! :D

Re: erreur php sur mon site , à l'aide svp

par piotrowski-s » 12 déc. 2012, 18:38

désolé, supprime cette ligne
rewind($file);

Re: erreur php sur mon site , à l'aide svp

par piotrowski-s » 12 déc. 2012, 18:34

oui car la variable
$data
n'est pas initialisée ou sinon tu change le nom de ta variable
 $file = 'datacount.php';
par
 $data = 'datacount.php';

Re: erreur php sur mon site , à l'aide svp

par jerlotrie » 12 déc. 2012, 18:32

ici
$size = strlen($data);
c'est
$size = strlen($file);

j'ai pas compris , il faut que je change le
$size = strlen($data);


par celui ci :
$size = strlen($file);


???


si oui voila donc l'erreur qu y il a sur le site à présent :

Warning: rewind(): supplied argument is not a valid stream resource in /mnt/162/sdb/a/c/countrywesterntroup/compteur.php on line 38

Re: erreur php sur mon site , à l'aide svp

par piotrowski-s » 12 déc. 2012, 18:24

ici
$size = strlen($data);
c'est
$size = strlen($file);

Re: erreur php sur mon site , à l'aide svp

par jerlotrie » 12 déc. 2012, 18:21

ok donc voici le nouveau code compteur.php selon tes indications que je viens de corriger ( regarde si j'ai bien compris ce que tu me demandais et si je n'ai pas faiot d'erreur stp )
<?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) {
   $file = 'datacount.php';
   $tmp = fopen("$file", "w+");
   rewind($file);
   $size = strlen($data);
   $resultat1 = fread ($tmp, $size);
   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()

?>


mais voila a present les erreurs que j'obtiens sur mon site :

Warning: rewind(): supplied argument is not a valid stream resource in /mnt/162/sdb/a/c/countrywesterntroup/compteur.php on line 38

Warning: fread() [function.fread]: Length parameter must be greater than 0. in /mnt/162/sdb/a/c/countrywesterntroup/compteur.php on line 40

Re: erreur php sur mon site , à l'aide svp

par piotrowski-s » 12 déc. 2012, 18:12

ok donc pour résumer il ne parvient pas à récupérer la taille du fichier dynamiquement.

à la ligne ou tu as $resultat1 = fread...

remplace juste après l'ouverture de ton accolade tu rajoute
if ($continu==1) {
le code suivant:
   $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);
par le code suivant:
 $file = 'datacount.php';
   $tmp = fopen("$file", "w+");
   rewind($file); 
   $size = strlen($data);
   $resultat1 = fread ($tmp, $size);
   fclose($tmp);
   $ligneajout = "\$Adresse[] = \"".$nomadr."\";\n \$Compteur[] = 1;\n ?>";
   $resultat2 = fopen("datacount.php", "w+");
   $ligneajout2 = str_replace("?>", $ligneajout, $resultat1);
   fputs ($resultat2, $ligneajout2);
   fclose($resultat2);

Re: erreur php sur mon site , à l'aide svp

par jerlotrie » 12 déc. 2012, 18:04

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

Re: erreur php sur mon site , à l'aide svp

par piotrowski-s » 12 déc. 2012, 17:59

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

par jerlotrie » 12 déc. 2012, 17:50

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

par piotrowski-s » 12 déc. 2012, 17:48

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

par jerlotrie » 12 déc. 2012, 17:46

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

par piotrowski-s » 12 déc. 2012, 17:41

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

par jerlotrie » 12 déc. 2012, 17:33

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 !