Bonjour,
J'ai télécharger ce petit script de compteur live
Il marche très bien sauf que parfois j'ai des parse error dans le fichier userdata.php qui bloquent donc tout mon site. Lorsque je regarde le fichier userdata.php je remarque qu'en fait il arrive parfois qu'à la fin de mon fichier il ne se termine pas bien et j'ai ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <?php $timeout=300; /* 5 minutes */ $script_dir=""; include($script_dir."userdata.php"); $timestamp=time(); $included="false"; for($i=0;$i<count($cur_users);$i++) { $u_arr=explode("|",$cur_users[$i],strlen($cur_users[$i])); if(($timestamp-$u_arr[1]) > $timeout ) $cur_users[$i]=""; if($u_arr[0]==$REMOTE_ADDR)$included="true"; } if($included=="false")$cur_users[$i]=$REMOTE_ADDR."|".$timestamp; $fp=fopen($script_dir."userdata.php","w"); fwrite($fp,"<?php \r\n \$cur_users=array(",strlen("<?php \r\n \$cur_users=array(")); $users_online=0; for($i=0;$i<count($cur_users);$i++) { if($cur_users[$i]!="") { fwrite($fp,'"'.$cur_users[$i].'"',strlen('"'.$cur_users[$i].'"')); if($i<count($cur_users)-1)fwrite($fp,",",strlen(",")); $users_online++; } } if($users_online==0)$users_online=1; fwrite($fp,") ?>",strlen(") \r\n?>")); fclose($fp); echo "$users_online"; ?>
J'ai essayé de modifier le code mais j'ai pas réussi à faire en sorte d'éviter ce parse error. L'idée c'est donc de mettre un test pour dire que si dans userdata.php j'ai un parse error, qu'il m'affiche indisponible au lieu du beug.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ....,"192.168.0.1|1257847645")"192.168.0.2|1257847646") ?> au lieu de ....,"192.168.0.1|1257847645","192.168.0.2|1257847646") ?>
Est ce que cela est possible en php si oui, quelqu'un peut-il m'orienter ? Merci
Partager