目錄
回复讨论(解决方案)
首頁 後端開發 php教程 require目录

require目录

Jun 23, 2016 pm 01:57 PM
require 目錄

osadmin的目录如下

注意
index.php在uploads目录下,
init.inc.php在uploads/include目录下
config.inc.php在uploads/include/config目录下

index.php:
require ('./include/init.inc.php');

init.inc.php:
require 'config/config.inc.php';

按理说访问index.php页时,寻找config.inc.php页的路径应为uploads/config/config.inc.php,是一个错误路径,但为什么实际运行确能找到?各位能解释下是怎么找到的吗。

难道解析这种既不是绝对路径,又不是相对路径的的路径,还有什么基情。

(补充)include_path:‘.;C:\php\pear’


回复讨论(解决方案)

init.inc.php:
require 'config/config.inc.php';

init.inc.php里面不是包括了config.inc.php 么,当然能找到啦。

php不是参照入口文件的路径吗?也就是说 在找config.inc.php时应该是按“uploads/config/config.inc.php”这个路径找,但显然这个路径不存在,存在的是“uploads/include/config/config.inc.php”。难道不是这样?

require 'config/config.inc.php';
不是在 init.inc.php 中执行的吗?
所以既然只有 uploads/include/config/config.inc.php 存在,当然就加载他了

你#2的描述是正确的
如果你有 uploads/config/config.inc.php 文件,那么这个文件将被优先加载
也就是说,你可以用这种方法干预应用系统的行为

下面是用我的伪代码描述require请求文件的处理,看对否:
相对路径:前面带./或者../的路径,如'./include/init.inc.php'
伪相对路径:前面不带./或者../且又不是绝对路径的路径,如'config/config.inc.php'
当前工作目录:web环境下,即入口文件所在目录

if(path为绝对路径){    file_path=path;}else if(path为相对路径){    file_path=conbine(当前工作目录,path);}else{    //伪相对路径    dir_list=include_path;    dir_list.add(当前工作目录);    dir_list.add(调用语句所在目录);    foreach(dir_list as dir){        temp_path=conbine(dir,path);        if(temp_path存在){            file_path=temp_path;            return;        }    }}
登入後複製

访问index.php页时
require 'config/config.inc.php';
其实生效的是
file_path=conbine(调用语句所在目录,path)
这里调用语句所在目录,即init.inc.php文件所在目录,从而正确找到文件。

是的,是这样的

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1253
24
如何在 Google Docs 插入目錄 如何在 Google Docs 插入目錄 Apr 13, 2023 pm 08:16 PM

無論是文章、論文或教程,任何文件的主要亮點都是標題,當然還有目錄。它描述了文件的大綱結構,以便使用者可以到達他們期待從文件中讀取的位置和內容。將目錄添加到大多數文件中以使它們看起來更專業也是一種最佳實踐。如今,一切都在網路上進行,人們使用Google文件來建立大多數文件。許多使用者仍然不確定如何在 google 文件中插入或新增目錄。因此,我們提出了這篇文章來解釋如何在Google文件中建立或插入目錄。如何在 Google Docs 插入目錄第 1 步:點擊此處前往 Google Docs 線上版。第 2 步:如

vue3+vite:src使用require動態匯入圖片報錯怎麼解決 vue3+vite:src使用require動態匯入圖片報錯怎麼解決 May 21, 2023 pm 03:16 PM

vue3+vite:src使用require動態導入圖片報錯和解決方法vue3+vite動態的導入多張圖片vue3如果使用的是typescript開發,就會出現require引入圖片報錯,requireisnotdefined不能像使用vue2這樣imgUrl:require(' …/assets/test.png')導入,是因為typescript不支援require所以用import導入,下面介紹如何解決:使用awaitimport

使用java的File.isDirectory()函數判斷檔案是否存在且為目錄類型 使用java的File.isDirectory()函數判斷檔案是否存在且為目錄類型 Jul 24, 2023 pm 06:57 PM

使用java的File.isDirectory()函數判斷檔案是否存在且為目錄類型在Java程式設計中,常常會遇到需要判斷一個檔案是否存在且為目錄類型的情況。 Java提供了File類別來操作檔案和目錄,其中的isDirectory()函數可以幫助我們判斷一個檔案是否是目錄類型。 File.isDirectory()函數是File類別中的一個方法,其作用是判斷目前Fil

PHP函數介紹—rename(): 重新命名檔案或目錄 PHP函數介紹—rename(): 重新命名檔案或目錄 Jul 25, 2023 pm 12:10 PM

PHP函數介紹—rename():重新命名檔案或目錄介紹:在PHP中,rename()函數用來重新命名檔案或目錄。它提供了一種簡單的方法來更改檔案或目錄的名稱。無論是單一檔案還是整個目錄,都可以使用這個函數進行重新命名操作。透過指定來源檔案或目錄的名稱以及目標名稱,可以輕鬆完成重新命名過程。語法:boolrename(string$source,str

linux怎麼查看目錄是否為空 linux怎麼查看目錄是否為空 Mar 20, 2023 am 10:17 AM

linux檢視目錄是否為空的方法:1、進入linux終端機;2、透過執行「res=`ls -A $dir` if [ -z $res ];then echo "$dir ..."else echo "$ dir ..."fi」方法判斷目錄是否為空即可。

PHP中的glob()函數用來尋找檔案或目錄 PHP中的glob()函數用來尋找檔案或目錄 Nov 18, 2023 pm 06:17 PM

PHP中的glob()函數用來尋找檔案或目錄,是一種強大的檔案操作函數。它可以根據指定的模式匹配,返回檔案或目錄的路徑。 glob()函數的語法如下:glob(pattern,flags)其中,pattern表示要匹配的模式字串,可以是一個通配符表達式,如*.txt(匹配以.txt結尾的文件),或者是具體的文件路徑。 flags是一個可選參數,用來控制函數

require的用法有哪些 require的用法有哪些 Nov 27, 2023 am 10:03 AM

require用法:1、引入模組:在許多程式語言中,require用於引入外部模組或庫,以便在程式中使用它們提供的功能。例如,在Ruby中,可以使用require來載入第三方函式庫或模組;2、導入類別或方法:在一些程式語言中,require用來匯入特定的類別或方法,以便在目前檔案中使用它們;3、執行特定任務:在一些程式語言或框架中,require用於執行特定的任務或功能。

微信讀書怎麼看目錄 看目錄的方法 微信讀書怎麼看目錄 看目錄的方法 Mar 30, 2024 pm 05:56 PM

微信讀書app手機版是一款非常不錯的閱讀軟體,這款軟體內提供的書籍作品非常多,隨時隨地想看就看一鍵搜尋線上閱讀,且都是官方正版授權的,不同類型的書籍整齊排序,享受舒適輕鬆的閱讀氣氛。切換不同情景的閱讀模式,每天不間斷更新最新的書籍章節,支持多端設備在線登錄,批量下載到書架上,有無網絡情況下一樣能看,讓大家從中發現更多知識,現在小編在線詳細為微信讀書夥伴們推送查看目錄的方法。  1.打開需要查看目錄的書籍,點擊書籍中間位置。  2.點選左下方的三條線圖示。  3.在彈出的視窗中,查看書籍目錄即

See all articles