Chez OVH mutualise impossible de connaitre la racine du site

Résolu
jpdollo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
jpdollo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

8 réponses

f_a_b Messages postés 57 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
jpdollo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Merci

Ca me donne /home/trainsdu/www

Je vais essayer avec scripts

Cordialement
Je mettrais si ca réussit ou non

Cordialement
0
jpdollo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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
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
Utilisateur anonyme
 
Au passage, chez OVH mutualisé (j'y suis) tout le monde (enfin je le croyais) connait la racine de son site.
0
jpdollo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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
Utilisateur anonyme
 
Bonsoir j'ai édité ton message pour y ajouter la coloration syntaxique
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
jpdollo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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
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
jpdollo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Merci le père

C'est parfait
0