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

墨辰丷
Libérer: 2023-03-29 10:20:02
original
1677 Les gens l'ont consulté

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__);
?>
Copier après la connexion

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 )
Copier après la connexion

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__));
Copier après la connexion
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;);
Copier après la connexion
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")
Copier après la connexion
Ensuite, vous pouvez utiliser directement dans d'autres pages à l'avenir

include("conn.php")
Copier après la connexion
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__);
Copier après la connexion
, par exemple An. exemple :

Une de vos pages contient cette déclaration :

include(&#39;/inc/sql.php&#39;);
include(&#39;/inc/conn.php&#39;);
Copier après la connexion
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;)
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal