簡體   English   中英

PHP包含奇怪的行為

[英]PHP include strange behaviour

我在客戶端站點(PHP)上工作,並且有一個非常奇怪的行為。 使用include,include_once,require或require_once似乎還會引入其他根本不存在的內容。 有人聽說過這樣的話嗎?

即使包含文件為空或僅包含一些文本,該行為仍然存在。 這可能是某種設置/全局行為嗎?

謝謝

例如:

<?php require_once('dir/subdir/file.php'); ?>

您應該始終使用絕對路徑。 這是引用文件的唯一可靠方法。

<?php require_once(__DIR__ . '/dir/subdir/file.php'); ?>

或在PHP 5.2上:

<?php require_once(dirname(__FILE__) . '/dir/subdir/file.php'); ?>

include / require函數通過將所需文件的內容復制到調用該函數的占位符來工作。 如果包含的文件為空,則復制的內容為空。 如果您包含的內容沒有被您認出,則可能意味着您的包含路徑可能指向了您所想之外的其他地方,或者包含的文件又包含了一些額外的文件。

作為全局設置,在php.ini中指定了一個全局php 包含路徑 ,人們通常在其中添加庫或全局腳本。 默認情況下,它不應包含影響腳本的內容。

如果在include_path中找不到該文件,則include最終將在失敗之前檢入調用腳本的自身目錄和當前工作目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM