Maison  >  Article  >  développement back-end  >  Explication détaillée sur l'utilisation de la fonction set_include_path() en PHP

Explication détaillée sur l'utilisation de la fonction set_include_path() en PHP

墨辰丷
墨辰丷original
2018-06-01 17:24:111679parcourir

Cet article présente principalement l'utilisation connexe de la fonction set_include_path() en PHP et analyse les compétences associées de PHP pour la définition du chemin de fichier sous forme d'exemples. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. 🎜>

Regardez d'abord le code suivant :


<?php
/** 定义根目录 */
define(&#39;__TYPECHO_ROOT_DIR__&#39;, dirname(__FILE__));
/** 定义插件目录(相对路径) */
define(&#39;__TYPECHO_PLUGIN_DIR__&#39;, &#39;/usr/plugins&#39;);
/** 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . &#39;/var&#39; . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
?>

Tout d'abord :

Regardons ceci variable globale : __FILE__

Elle représente le chemin complet du fichier (incluant le nom du fichier bien sûr)

C'est à dire qu'elle a des valeurs différentes selon le répertoire où se trouve votre fichier est localisé ; bien sûr, lorsqu'il est utilisé dans un fichier de ligne de package , sa valeur est le chemin inclus

alors :

Regardons cette fonction :

string dirname ( string path )

it C'est une fonction intégrée en PHP. Quelle est sa fonction ? C'est de renvoyer le répertoire autre que le nom du fichier. > Si la variable _FILE_ est utilisée dans votre page d'accueil :

(Supposons que le répertoire où se trouve votre page web est : http://localhost/web/index.php), alors : La valeur de

_FILE_ est http://localhost/web/index.php (un chemin absolu). À l'heure actuelle, le nom de répertoire (_FILE_) représente http://localhost/web/, ce qui signifie qu'il n'y a pas de nom de fichier index.php.

Et dirname(dirname(_FILE_)) représente le répertoire de niveau supérieur, et ainsi de suite

Enfin :

Regardez la fonction définir(), en fait ; est une fonction qui définit des constantes, telles que : définir('MEN','ooooo');

Ensuite, vous pouvez utiliser MEN pour représenter la chaîne ooooo

Alors c'est tout. Quel est l'avantage ? de l'écriture est que lorsque vous avez besoin de modifier une variable, il vous suffit de la modifier, ce qui est assez pratique, surtout pour les chaînes comme les chemins !

Expliquons ce code :

define(&#39;__TYPECHO_ROOT_DIR__&#39;, dirname(__FILE__));
consiste à définir __TYPECHO_ROOT_DIR__ comme le répertoire où se trouve ce fichier, comme cette définition Généralement, il est placé dans config.inc.php, alors le répertoire obtenu est le répertoire où se trouve config.inc.php c'est-à-dire le répertoire racine !

define(&#39;__TYPECHO_PLUGIN_DIR__&#39;, &#39;/usr/plugins&#39;);
Inutile de le dire !

Quant à ce que signifie set_include_path(get_include_path() . PATH_SEPARATOR . $path);

Par exemple, si vous avez un dossier : nommé include, il y a un fichier de connexion à la base de données :conn.php...,

Vous le définissez comme ceci :

set_include_path("/include")
Ensuite, vous pouvez utiliser directement dans d'autres pages à l'avenir

include("conn.php")
N'est-ce pas souvent vu ? Ses paramètres sont des chaînes. Bien sûr, vous pouvez également définir plusieurs chemins, séparés par ;. Que signifie cette phrase :

set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . &#39;/var&#39; . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);
, par exemple An. exemple :

Une de vos pages contient cette déclaration :

include(&#39;/inc/sql.php&#39;);
include(&#39;/inc/conn.php&#39;);
Et vous avez soudainement découvert que j'avais inclus ces fichiers. Il n'est pas sûr de mettez-le dans le répertoire inc. Que dois-je faire ? Je veux le changer. Je veux le mettre dans le répertoire include. D'accord, c'est bizarre si je ne suis pas épuisé avec autant de pages : y a-t-il un bon moyen ? avoir! ! ! ! ! ! !

Écrivez cette phrase dans config.inc.php :

set_include_path(get_include_path() .&#39;/include&#39;)
C'est aussi simple que ça, oui, c'est aussi simple que ça ! Modification dynamique !

Ne regardez pas ça : get_include_path() . PATH_SEPARATOR . Qu'est-ce que c'est ? C'est juste une chaîne de chemin au milieu est un symbole de connexion de chaîne. des constantes que nous venons de définir dans une chaîne, ce qui signifie qu'il peut définir dynamiquement le chemin d'inclusion ! Si le chemin inclus est renvoyé correctement, false est renvoyé s'il est incorrect

Résumé : ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun ;

Recommandations associées :

Explication graphique détaillée des opérations sur les fichiers en PHP


php

implémentation de Méthode chinoise simple de fonction de code de vérification

Mise en œuvre d'un algorithme de cryptage symétrique en php


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn