2012-03-04 134 views
8

這可能只是一個非常愚蠢的問題,但我真的很沮喪,這不工作。 我有一個主文件(home.php)其中包含<? include ("/production/fetch_order.php"); ?>。正如我可以看到我試圖從home.php訪問文件。該文件命名爲fetch_order.php,位於生產文件夾中。我的路徑是正確的,拼寫也是絕對正確的。但是我結束了這個錯誤:include():未能打開流:沒有這樣的文件或目錄

Warning: include(/production/fetch_order.php) [function.include]: 
failed to open stream: No such file or directory in /path/to/home.php on line 119 

Warning: include() [function.include]: Failed opening '/production/fetch_order.php' 
for inclusion (include_path='.:/path/to/php/php5.3.6/lib/php') in 
/path/to/home.php on line 119 
+0

一個經常運行到這個錯誤,並迅速解決它,請按照下列步驟操作:http://stackoverflow.com/a/36577021/2873507 – 2016-04-12 17:02:02

+0

的可能的複製[失敗打開流:沒有這樣的文件或目錄](http://stackoverflow.com/questions/36577020/failed-to-open-stream-no-such-file-or-directory) – 2016-04-30 14:24:15

回答

11

您使用在該行開始的絕對路徑(/),你需要刪除斜槓,這將是一個相對路徑,例如:

production/fetch_order.php 

當添加一個斜槓時,它從系統的根目錄開始,沒有它,它會在當前目錄中查找。

+0

該文件*實際*存在或您需要輸入文件的正確路徑。在'home.php'所在的同一目錄中是否有一個名爲'production'的文件夾? – MacMac 2012-03-04 19:14:29

+0

該文件確實存在。 home.php和生產文件夾處於同一級別,生產文件夾中有一個名爲fetch_order.php的文件 – Namit 2012-03-04 19:15:39

+0

現在,此處有一個常見錯誤的故障排除清單:stackoverflow.com/a/36577021/2873507 – 2016-04-12 17:02:15

0

看來,路徑不正確,請嘗試:

<? include ("production/fetch_order.php"); ?> 
+1

嘗試var_dump (目錄名(__ FILE__));或var_dump(realpath(dirname(__ FILE__)));調試 – dotoree 2012-03-04 19:16:33

+0

字符串(59)「/right/path/to/file/production/fetch_order.php」 – Namit 2012-03-04 19:18:35

+1

等等!你是否將文件包含在自身中? – dotoree 2012-03-04 19:20:23

2

確保路徑如果引用(「/production/fetch_order.php」)提供要麼從絕對路徑文件系統根目錄或作爲當前文件的相對路徑(home.php)。

include('production/fetch_order.php'); 

OR

include(dirname(__FILE__) . '/production/fetch_order.php'); 
+0

現在根本不起作用! – Namit 2012-03-04 19:13:27

+0

使用'echo dirname(__ FILE __)'開頭;'找出正在執行的目錄'home.php'。確認'production/fetch_order.php'存在_目錄中。 – rjz 2012-03-04 19:15:27

+0

試過了,它回聲正確! – Namit 2012-03-04 19:16:52

相關問題