Probleme de path avec un fichier install

Signaler
Messages postés
26
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
1 décembre 2013
-
Messages postés
26
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
1 décembre 2013
-
Bonjour

J'ai un soucis avec un fichier d'install. Voila quand je l'utilise sur home/utilisateur/public_html tout va nickel mais des que je test sur home/utilisateur/public_html/test plus rien ne va.

Mon script d'installation est a cet endroit home/utilisateur/public_html/test/install et ce script cherche la racine ou le site va s'installer pour moi se sera la home/utilisateur/public_html/test mais il me donne toujours ce repertoire home/utilisateur/public_html. J'ai tout essayer dirname (__FILE__); $_SERVER['DOCUMENT_ROOT'] $_SERVER['PHP_SELF'] etc etc mais rien n'y fait comment est-ce que je pourrais faire pour qu'il me donne ceci home/utilisateur/public_html/test?

Merci de votre aide

7 réponses

Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
Hello,

La fonction getcwd ne ferait-elle pas l'affaire ?


_________________________________
Min iPomme
Messages postés
26
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
1 décembre 2013

Non cela me donne que la racine pas le repertoire ou je fais mes tests

Je m'explique un peu mieux voila j'ai un server mon site courant est à cet endroit home/utilisateur/public_html donc pour faire mes tests de mon script
je l'ai mis a cette endroit home/utilisateur/public_html/test et mon dossier d'installation a cet endroit home/utilisateur/public_html/test/install l'arborescence de install j'ai sa index.php qui appelle chaque fichier dans ce dossier install/include.

voici le script qui affiche le repertoire racine
le fichier include/environnement.php qui est appelé par install/index.php
<?php
session_start();
//GET ROOT PATHS
if (!$_SERVER['DOCUMENT_ROOT']) {
  $_SERVER['DOCUMENT_ROOT'] =  str_replace("\","/",getcwd());
}
//Get PHP Version
function get_php_version () {
  define(_PHP_VERSION, phpversion());
if (_PHP_VERSION) {
echo (" OK  - Votre version de PHP est " . _PHP_VERSION .".");
if (_PHP_VERSION < 4.3) {
echo ("Votre version de PHP est trop ancien, minimum de 4.3 est reqis.");
}
}else{
echo ("Votre version de PHP n'a pas pu être détecté.");
    }
     return _PHP_VERSION;
}

////////////////////////////// START PAGE ///////////////////

// PHP Server Info
echo "
<center>MovieStream verification de configuration

";
echo "\";
echo \"----
PHP Server Version: , \";
echo \"";
get_php_version ();
echo ", \";

echo \"----
Document racine:
(Prenez note de cela pour vos PATHS)
, \";
echo \"";
echo $_SERVER['DOCUMENT_ROOT'];//indique le roth
echo ", \";

echo "</TD>
";

if (_PHP_VERSION < 4.3)
echo ("Nous sommes désolés, mais vous n'avez pas la version requise PHP 4.3 (ou supérieur).

".
" Par conséquent, vous ne pouvez pas </ B> install MovieStream </ p>".
"Veuillez demander à votre administrateur de mettre à jour le module PHP.

");
else
echo ("<form action ="." method="post">\n".
      "\n".
      "\n".
      "\n".
      "

\n".
      "</form>\n");
?>


et $_SERVER['DOCUMENT_ROOT'] au lieu de m'indiquer home/utilisateur/public_html/test il m'indique home/utilisateur/public_html De plus il faudrais pouvoir l'utiliser dans n'importe quel repertoire.

J'esper me faire comprendre car c'est un peu dur
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
Normal, $_SERVER['DOCUMENT_ROOT'] c'est l'espace où sont stockées les pages Web... C'est différent du root de ton site...

Ce que tu veux c'est donc le $_SERVER['DOCUMENT_ROOT'] mixé avec le $_SERVER["PHP_SELF"] (qui lui est le chemin du script par rapport à DOCUMENT_ROOT)...

Donc soit tu fais :
<?php
echo "<TR><TD>Document racine: 
(Prenez note de cela pour vos PATHS)
</TD>";
echo "<TD>";
echo substr($_SERVER['DOCUMENT_ROOT'], 0, -1).dirname($_SERVER["PHP_SELF"]);//indique le roth
echo "</TD></TR>";
?>

Soit
<?php
echo "<TR><TD>Document racine: 
(Prenez note de cela pour vos PATHS)
</TD>";
echo "<TD>";
echo getcwd();//indique le roth
echo "</TD></TR>";
?>

_________________________________
Min iPomme
Messages postés
26
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
1 décembre 2013

sa me donne sa /home/moviestream/public_htm/test/install il faudrais descendre d'un repertoire.

Ce ne doit pas etre possible
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
<?php
echo "<TR><TD>Document racine: 
(Prenez note de cela pour vos PATHS)
</TD>";
echo "<TD>";
echo str_replace('/install', '', getcwd());//indique le roth
echo "</TD></TR>";
?>

str_replace
A vérifier si tout fonctionne bien avec les chemins Windows...

_________________________________
Min iPomme
Messages postés
26
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
1 décembre 2013

La sa affiche le bon repondre. Maintenante esperons que cela fonctionne meme si on met a racine du site et non dans un sous dossier. Ah oui comment je fais pour les anti-slash windows? question bete je sais.

Merci encore
Messages postés
26
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
1 décembre 2013

j'ai voulu dire sa affiche le bon repertoire