comment inclure db fichier de configuration dans les fichiers php
un de mes principaux problèmes dans le codage est y compris config.php et db classe où j'ai besoin de vous connecter à databse
considérer que j'ai un mysql.php et config.php fichier dans la racine de mes fichiers
maintenant, si im dans ce chemin d'accès :
Root/Sub/portal/modules/Gallery.php
et j'ai besoin de récupérer config.php revendeurs tels que
$dbhost = "localhost";
$dbuname = "root"; //Database username
$dbpass = ""; //Database password
$dbname = "mydb"; //Database NAME
je devrais inclure dans cette voie :
require("../../../config.php");
require("../../../mysql.php");
$mdb = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
if(!$mdb->db_connect_id) {
die("cant connect to db");
}
sûr qu'il me donnerait une erreur :
Warning: include(../../../config.php)
[function.include]: failed to open
stream: No such file or directory in
donc, il y a un moyen d'éviter cette erreur et trouver un moyen de se connecter à ma db ?!
Vous devez vous connecter pour publier un commentaire.
Utiliser ceci:
En fait, le plus simple est de simplement inclure à partir de l'existant chemin de l'.
Par exemple, si votre include_path est fixé à
et votre fichier de configuration est situé dans
il vous suffit de faire
Comme kgb a déjà suggéré, vous pouvez modifier l'include_path de tenir d'autres chemins pour PHP de regarder dans les fichiers. Cependant, vous devez utiliser un bon montant de chemins. Définir le chemin d'accès au dossier config juste pour être en mesure de faire inclure "mysql.txt" n'est pas raisonnable si vous avez un tas d'autres dossiers avec les fichiers requis. Une approche commune dans les applications web est le paramètre le chemin vers le dossier racine d'une application.
Si vous êtes d'amorçage de votre application, vous pouvez également définir une constante qui définit le chemin de l'application. Je ne suis pas un fan de l'ajout des constantes de l'espace de noms global, mais c'est quelque chose que vous voyez souvent trop. Il vous faudra alors faire
Un certain nombre d'autres approches pour stocker le chemin de l'application viennent à mon esprit, mais je suppose que le ci-dessus est suffisante pour résoudre vos imminente question.
get_include_path()
pour voir ce que votre actuelleinclude_path
est réglé. Alors soit inclure relative de l'un de ces chemins ou, si cela n'est pas possible d'ajouter un chemin d'accès approprié (comme le kgb a suggéré) ou utiliser la constante approche./some/path/app/index.php
et l'autre est en/some/other/config.php
et votre include_path est fixé à/some
vous pouvezinclude('other/config.php')
de/some/path/app/index.php
. C'est pourquoi il n'est pas le contraire, mais juste une question de ce que l'include_path est. Vous pouvez toujours inclure à partir de l'include_path quel que soit l'emplacement du fichier include qui se passe dans.vous pouvez étendre la php chemin include en php.fichier ini ou à l'aide de
set_include_path()
:Je suis tombé sur un problème similaire lors de l'utilisation d'un système de modèles il y a quelques années. Je l'ai résolu en veillant à ce que tous les ensembles de fichiers sont les mêmes profondeur vers le bas le chemin
par exemple
de cette façon, lorsque y compris un fichier à partir de n'importe quel autre fichier, il suffit d'utiliser un chemin relatif à la racine,
une faible solution technique, mais cela fonctionne pour moi.
À utiliser pour définir la source de php dans le projet.
et l' ./ses un chemin de base de notre fichier.