Bonjour TLM,
En effet, avant de changer d'hébergeur Web, j'ai depuis des années un script de comptages divers, qui fonctionnait sans souci (Version PHP : 5.2.17).
Depuis ce matin j'ai changé de crèmerie = d'hébergeur Web et depuis ça foire (version PHP : 5.4)
J'ai bien entendu copié tous dossiers et fichiers sur le nouveau serveur, sans oublier les CHMOD.
Sachant qu'en ce domaine précis PHP je suis presque novice
J'avais trouvé ce script sur un forum qui n'existe plus depuis un certain temps ; son webmaster était super sympa.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 <?php /************************************************* ********** CountDL 1.0 *********** ************************************************** * Compteur de téléchargement * * Page Download.php * * * * copyright Spaceclic.com * * * * * http://www.spaceclic.com * * * * * *************************************************/ if ($fichier!="") { ///////////////////////// //paramètre à modifier ///////////////////////// //chemin d'acces au fichier $url="http://www.mysite.com/download/"; //repertoire où le fichier txt sera sauvegarde $txt="./comptage/"; ///////////////////////// //lien du DL $url1="$url"; $url1.="$fichier"; //permet d'executer $url1 header("location:{$url1}"); //separe le nom de l'extention list($fichier,$extention)=explode(".",$fichier); //chemin d'acces au TXT $fich="$txt"; $fich.="$fichier.txt"; //ouvre le fichier en lecture ecriture $fp=fopen("$fich","r+"); //lit les 10 premiers caracteres $visite=fgets($fp,10); //incremente le compteur de +1 $visite++; //se place au debut du fichier fseek($fp,0); //enregistre la nouvelle valeur fputs($fp,$visite); //ferme le fichier fclose($fp); //si la variable $fichier est vide on affiche un message d'alerte } else { echo "Lien brisé temporairement en dossier download...";} ?>
Si vous trouvez la faille en ce script = merci !
J'ai téléphoné à mon prestataire et selon lui c'est la fonction header qui poserait problème suivant la version récente de PHP sur serveur.
J'ai recherché des heures sur le Web et fait de multiples essais sur cette fonction : pas le caractères blancs... au tout début... un exit ensuite... etc. Mais rien à faire ça ne redirigeait rien
(Je précise aussi que cette fonction "fonctionne", en faisant un simple fichier test en une ligne : ça redirige bien)
Je précise également que je suis certain que cela provient de la version PHP, car je dispose en admin de mon hébergement (Ikoula.com) d'un sélecteur de version PHP.
Je suis passé en version 5.2.10 et comme par magie ; tout est revenu normal comme tout auparavant.
Merci d'avance de vos idées, car tôt ou tard je devrais passer en version 5.4 pour d'autres raisons.
Partager