<?php
$path = "http://" . $_SERVER['HTTP_HOST'];
?>
<?php include $path . 'library/content/header.php'; ?>
我似乎無法得到此工作。語法有錯誤嗎?PHP文件的問題包括
<?php
$path = "http://" . $_SERVER['HTTP_HOST'];
?>
<?php include $path . 'library/content/header.php'; ?>
我似乎無法得到此工作。語法有錯誤嗎?PHP文件的問題包括
不能包括遠程腳本。您只允許包含本地php文件,它位於php文件的路徑範圍內,您正在編寫include文件。
你可以,如果你已經配置它,http://php.net/manual/en/function.include.php – Darm
http://php.net/filesystem.configuration#ini.allow-url-include – KingCrunch
Cmon,guys ,downvote爲嚴格的答案? 「這與嚴格地說與包含文件並使其繼承父文件的變量作用域不同;該腳本實際上正在遠程服務器上運行,並且結果將被包含到本地腳本中。」這不是「包含」,因爲「包含」是包含PHP腳本而不是HTML文檔的必要條件。該死的你。爲了「包含遠程html」,還有其他一些PHP函數,它不需要修改PHP INI。 – Deele
您必須啓用allow_url_include
才能在您的ini中默認禁用該文件。 http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include
但由於您停留在同一個sercer上,請使用相對路徑。 如:
$path ='./'
當你需要的PHP文件,你得到的文件的解析輸出,絕對HTTP路徑(或與此有關的任何其他動態文件),這樣你實際上包括文件的輸出,而不是源代碼。你可以通過配置allow_url_include來避免這種情況,但這不是最好的做法。
爲了讓您的代碼正常工作,您應該在服務器上包含文件的相對或絕對路徑。我還建議使用include_once或require_once。
<?php
require_once('head.php'); // if its on the same folder
require_once('/var/www/head.php'); //full path to file on server
require_once(dirname(__FILE__).'/../head.php'); // relative path to file using the path of the current open file
?>
希望這會有所幫助,
Shai。
首先:你應該從來沒有包含遠程文件。它很明顯,你想包括一個本地文件,因此強烈建議使用本地文件路徑。
include '/path/to/file.php';
如果你真的想包括遠程文件時,請記住,這通常要求在「HTTP:// are executed by the webserver. This means, if you are trying to include a remote file via
HTTP:// example.com/script.php`你通常只接收所生成的內容,而不是php的源代碼。
請與downvote一起發表評論。 – chelmertz