我正在一個客戶端網站(PHP)上工作,並有一個非常奇怪的行爲。使用include,include_once,require或require_once似乎也吸引了其他根本不應該存在的內容。有沒有人聽說過這樣的事情?PHP包含奇怪的行爲
即使包含文件爲空或僅包含一些文本,行爲仍然存在。這可能是某種設置/全局行爲嗎?
謝謝
例如:
<?php require_once('dir/subdir/file.php'); ?>
我正在一個客戶端網站(PHP)上工作,並有一個非常奇怪的行爲。使用include,include_once,require或require_once似乎也吸引了其他根本不應該存在的內容。有沒有人聽說過這樣的事情?PHP包含奇怪的行爲
即使包含文件爲空或僅包含一些文本,行爲仍然存在。這可能是某種設置/全局行爲嗎?
謝謝
例如:
<?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'); ?>
的包括通過複製所需的文件到被調用的函數的佔位符的內容/ require函數的工作。如果包含的文件爲空,則複製內容爲空。如果您的內容中包含了您不認識的內容,那麼可能意味着您的包含路徑可能指向了其他位置,而不是您想要的位置,或者包含的文件在其中包含了一些額外的文件。
作爲全局設置,在php.ini中指定了全局php include path,其中人們通常會添加庫或全局腳本。默認情況下,它不應該包含影響腳本的內容。
如果在include_path沒有找到文件,包括最終將在調用腳本本身的目錄和失敗之前,在當前工作目錄檢查。
您能否包含一些示例代碼? –
沒有人可以通過猜測你正在嘗試做什麼來幫助你。顯示一些代碼並詳細說明「其他內容」是什麼。 – Repox
我有一些有趣的經驗,包括和輸出緩衝 - 你使用緩衝區? – HorusKol