我正在構建PHP CMS,但遇到變量問題。我希望能夠在外部文件vars.php中包含所有變量,並且只需將該文件包含在需要變量的每個文件中。變量都與URL和文件夾路徑有關。全局變量遍歷PHP中的文件和文件夾
我正在運行的問題是,如果我將變量設置爲完整的URL(例如:$uploadDir = "http://www.example.com/uploads/";
),腳本不會做他們應該做的。如果我使用絕對路徑(例如:$uploadDir = "/uploads/";
或$uploadDir = "/full/server/path/uploads/";
),也是如此。
如果我使用完整的網址,它似乎至少嘗試工作,但沒有。如果我使用完整的服務器路徑或絕對路徑,那麼我得到一些關於該路徑的錯誤不被允許。這些文件都存儲在/edit/
或/edit/(sub-folder-name)/
,如果有幫助。
我會尋找一些代碼示例,我將使用它,並儘快更新這篇文章。
謝謝。
UPDATE:
一些從這個代碼片斷的變量不包括在內,只是沒想到我應該發表一個巨大的PHP腳本。
的$pageDir
例子:
// The below 2 lines are actually in vars.php, which is included in this file.
$pageDir = "http://www.example.com/edit/pages/";
$url = "http://www.example.com/";
if ($_POST["page"] && $execute == TRUE) {
$live = $_GET["p"] . ".php";
// The below line is how this used to be set up.
// $handle = fopen("pages/$page", "w");
// The below line is how the new version should be set up.
$handle = fopen("$pageDir/$page", "w");
fwrite($handle, $_POST["page"]);
fclose($handle);
// The below line is how this used to be set up.
// echo("<p>Page successfully saved. <a href=\"../$live\" target=\"_blank\">Click here to view this page.</a></p>\n");
// The below line is how the new version should be set up.
echo("<p>Page successfully saved. <a href=\"$url/$live\" target=\"_blank\">Click here to view this page.</a></p>\n");
$execute = FALSE;
}
您使用URL而不是服務器路徑對打開和保存文件有點混淆。 (和[這可能會幫助](http://stackoverflow.com/questions/4369/how-to-include-php-files-that-require-an-absolute-path)。) – 2011-12-17 16:56:12