2016-10-02 78 views
0

目前,一個朋友和我正在通過PHP教程。我們都是PHP新手,但在其他語言方面有一些一般經驗。

我們希望包括「testseite.php」到我們的index.php的「testseite.php」是在文件夾中的內容/文章

教程做它是使用的方式

include("content/articles/".$_GET['include']); 

但如果我們這樣做有以下錯誤:

Warning: include(/users/xxx/www/users/xxx/www/myCms/content/articles) [function.include]: failed to open stream: No such file or directory in /users/flateric/www/users/flateric/www/myCms/index.php on line 5

Warning: include() [function.include]: Failed opening 'content/articles/' for inclusion (include_path='.') in /users/xxx/www/users/xxx/www/myCms/index.php on line 5

我們認爲自己的問題可能是,它雙打的用戶名(我改成了XXX)和「用戶」和「WWW」的PA日。 感謝您的幫助

+0

錯誤提示,沒有目錄'content/articles /' –

+1

這是一個壞主意......如果我們通過include(「content/articles /」)手動包含文件,則您信任用戶輸入來訪問文件 – Machavity

+0

testseite.php「);它正確顯示 – ben1806

回答

2

在PHP中,include表示將文件加載到參數中,如加載庫。所以,這個錯誤意味着文件/users/flateric/www/users/flateric/www/myCms/index.php不存在。您應評估$_GET值是否指向物理文件。

0

看起來$_GET['include']爲空(或者include密鑰不存在)。這導致文件名包含錯誤。你希望包括名爲此文件:

content/articles/testseite.php 

,但實際上得到一個包含此:

content/articles/ 

顯然,這是不正確的,會導致錯誤。如果$_GET參數不包含include值(或它爲空),則應該考慮另一種方法,例如提供默認值或向用戶生成錯誤。

+1

有一個此常見錯誤消息的疑難解答清單:http://stackoverflow.com/questions/36577020/php-failed-to-open-stream-no-such-file-or-directory –