IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Compteur PHP qui ne fonctionne plus (version PHP !)


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut Compteur PHP qui ne fonctionne plus (version PHP !)
    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


    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...";}
    ?>
    J'avais trouvé ce script sur un forum qui n'existe plus depuis un certain temps ; son webmaster était super sympa.

    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.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    D'ou vient le $fichier de la ligne 16 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Hello,

    Bonne question : variable non affectée ?

    Mais ne connaissant pas trop la syntaxe de ce langage, et sachant que ça fonctionnait auparavant impec (là aussi mais sur une autre version PHP) ; que je ne me suis pas trop centrer sur cette ligne.

    Tout est bon à prendre si amélioration

    Edit : En tous les cas, ce else fonctionnait très bien car je ne le voyais que trop... Il ne mentait pas)

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    $fichier peut être une variable transmise par l'url.
    Remis un peu au gout du jour ça donnerait ça :
    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
    <?php
     
    //chemin d'acces au fichier
    $url = "http://www.mysite.com/download/";
    //repertoire où le fichier txt sera sauvegarde
    $dir_txt = "./comptage/";
     
    if (!empty($_GET['fichier'])) {
     
      $fileinfo = pathinfo($fichier);
      $statfile = $fileinfo['filename'] . '.txt';
      $fp = fopen($stafile,"r+");
     
      $visite = intval(fgets($fp,10));
      $visite++;
      fseek($fp,0);
      fputs($fp,$visite);
      fclose($fp);
     
       header("Location: " . $url . $fichier);
     
    } else { 
      echo "Lien brisé temporairement en dossier download...";
    }
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Merci Vincent, j'ai sauté dessus et testé déjà en PHP 5.2.10 et OK comme l'autre.

    J'ai alors changé de version sur le serveur en mettant la V5.4 et là ça donne ce message "classique" en guise de message d'erreur :

    Forbidden

    You don't have permission to access /download/ on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    En barre d'adresse ça s'arrête au dossier download.

    C'est un petit script, mais pas évident à mettre au goût du jour.

    A noter que le script d'origine (donne en version 5.4) l'URL totale en barre d'adresse genre : mysite.com/download.php?fichier=totoriri.zip

    Bonne soirée,

    JP

  6. #6
    Membre éprouvé
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Par défaut
    Ton problème à l'air de ce situer au niveau du .htaccess

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Qu'est qui ne va plus avec PHP ?
    Par Idelways dans le forum Langage
    Réponses: 209
    Dernier message: 21/07/2011, 07h37
  2. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  3. [MySQL] Session php qui ne fonctionne pas
    Par tiph02 dans le forum PHP & Base de données
    Réponses: 42
    Dernier message: 04/06/2008, 11h49
  4. formulaire php qui ne fonctionne pas
    Par kate59 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/04/2008, 13h40
  5. Code php qui ne fonctionne pas
    Par bachir008 dans le forum Langage
    Réponses: 2
    Dernier message: 19/09/2007, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo