Chez OVH mutualise impossible de connaitre la racine du site

Résolu
jpdollo Messages postés 36 Statut Membre -  
jpdollo Messages postés 36 Statut Membre -
Bonjour

J'essaie désespérément de trouver la réelle adresse de la racine de mon site afin de la mettre dans mes scripts PHP

Merci de m'aider
Cordialement

Signature Modérée

8 réponses

  1. f_a_b Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   17
     
    Bonjour,
    Essaie cette commande :
    <?php
    echo "doc root : ".$_SERVER["DOCUMENT_ROOT"];
    ?>

    J'ai aussi un hébergement mutualisé OVH, j'ai mis tout ça dans un fichier "test.php" que j'ai ensuite uploadé dans mon dossier "www" et consulté depuis un navigateur

    Ca m'a retourné un résultat comme ça : "doc root : /home/domaine_sans_suffixe/www"

    --
    0
    1. jpdollo Messages postés 36 Statut Membre
       
      Merci

      Ca me donne /home/trainsdu/www

      Je vais essayer avec scripts

      Cordialement
      Je mettrais si ca réussit ou non

      Cordialement
      0
  2. jpdollo Messages postés 36 Statut Membre
     
    Bonjour j'i essayé avec le résultat de la commande mais ca ne marche pas
    et quand j'interroge le support d'ovh, évidemment, c'est mon script qui n'est pas bon
    Je m'arrache les cheveux

    Signature Modérée
    0
  3. Utilisateur anonyme
     
    Bonjour

    De quelle racine parles-tu ?

    Du point de vue du système de fichiers, c'est $_SERVER["DOCUMENT_ROOT"], il n'y a aucun doute là-dessus.
    Du point de vue de http, c'est http://tonnomdedomaine.fr

    Peux-tu montrer un exemple de code où tu essayes d'intégrer cette "racine" ?
    0
    1. Utilisateur anonyme
       
      Au passage, chez OVH mutualisé (j'y suis) tout le monde (enfin je le croyais) connait la racine de son site.
      0
  4. jpdollo Messages postés 36 Statut Membre
     
    Merci pour votre aide Le Pere
    Voici le code sachant que mon hebergeur est OVH

    <?php
            
             setlocale(LC_TIME, "fr_FR");
             echo "Dernière mise à jour le : " . strftime("%d %B %Y",filemtime('/home/trainsdu/www/trains-du-monde.com/'));
             ?>
    
    La reponse est :
    Warning: filemtime(): stat failed for /home/trainsdu/www/trains-du-monde.com/ in /home/trainsdu/www/test.php on line 4
     Dernière mise à jour le : 01 janvier 1970
    
    Pour connaître la racine au depart j'avais fait :
    <?php
       echo "doc root : ".$_SERVER["DOCUMENT_ROOT"];
       ?>

    Avec pour reponse :
    doc root : /home/trainsdu/www

    Apres quelqu'un sur le forum ovh m'a dit de rajouter trains-du-monde.com

    Cordialement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Puisque tu sembles t'intéresser à un fichier, la "racine" dont tu parles est bien $_SERVER["DOCUMENT_ROOT"].
    La personne qui t'a dit de mettre trains-du-monde.com devait croire que tu parlais de la racine de ton dossier du point de vue du web.

    Mais
    filemtime('/home/trainsdu/www/trains-du-monde.com/')
    n'a aucun sens, car filemtime donne la date de dernière modification d'un fichier, et '/home/trainsdu/www/trains-du-monde.com/' n'est pas un fichier : je suppose que tu n'as aucun fichier trains-du-monde.com à la racine de ton site (et de plus il ne faudrait pas de / à la fin).

    Si tu veux connaître la date de dernière modification d'un fichier précis de ton site, tu peux faire
    filemtime($_SERVER["DOCUMENT_ROOT"].'/monfichier.ext')
    (qui aura l'avantage de marcher en local ou sur le site réel, contrairement à
    filemtime('/home/trainsdu/www/monfichier.ext')
    qui ne marchera que sur ton site.

    Si tu veux connaître la date de dernière modification de l'ensemble de ton site, ce n'est pas tout à fait aussi simple : il faut balayer tous les fichiers en faisant un filemtime sur chacun d'entre eux, et garder la date la plus récente.

    Au fait, ce code serait le même chez OVH ou ailleurs.
    0
  7. jpdollo Messages postés 36 Statut Membre
     
    Finalement, voila ce qui marche parfaitement
     <?php
    setlocale(LC_TIME,"fr_FR");
    echo 'Site mis à jour le :  ' . strftime("%d %B %Y", filemtime('/home/trainsdu/www/'));
    ?>
    

    Je l'ai mis dans le header
    Vous pouvez aller voir mon site

    Merci a tous car j'ai beaucoup appris de vous tous

    Cordialement
    0
  8. Utilisateur anonyme
     
    Non, ça ne marche pas parfaitement.
    Si tu modifies un fichier d'un sous-dossier, ça ne va pas modifier la date de ton dossier racine.
    Ça ne marche pas du tout en local ni chez un autre hébergeur, car '/home/trainsdu/www/' est propre à OVH. Tu sais que chez certains hébergeurs (mais pas OVH, heureusement pour toi) le nom du dossier racine peut changer d'un jour à l'autre sans que toi tu ne touches à rien ? Il est nettement préférable d'utiliser la variable $_SERVER["DOCUMENT_ROOT"] plutôt que sa valeur car la variable elle, est toujours valable.
    0
  9. jpdollo Messages postés 36 Statut Membre
     
    Merci le père

    C'est parfait
    0