2012-05-15 95 views
2

運行代碼時,我收到以下錯誤,無法打開所需的文件

Warning: require_once(product.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\pro\application\modules\products\controllers\test1.php on line 2

Fatal error: require_once() [function.require]: Failed opening required 'product.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\pro\application\modules\products\controllers\test1.php on line 2

代碼很簡單,

<?php 
require_once "product.php"; 

    $array = "I am Fahad and I am testing this code";  
    $start = 4; 
    $limit = 9; 
    $value = limit($array, $start, $limit); 
    echo $value; 
?> 

文件product.php在於同一個目錄中文件的哪個我在跑步。它仍然是一個錯誤。請幫忙。由於

+1

你說*文件product.php位於與我正在運行的文件相同的目錄*中。您正在運行的文件本身是否包含在另一個文件中?如果是,則需要在與* includer *相同的目錄中進行搜索。 –

+0

因此'C:\ xampp \ htdocs \ pro \ application \ modules \ products \ controllers \ product.php'文件的位置是否正確? – Xeoncross

回答

9

實際的當前目錄不是總是比正在運行的腳本一樣,尤其是裏面框架像你似乎馬上使用。

要確保這是工作,對5.3使用

require_once dirname(__FILE__) . '/product.php';

,你甚至可以說:

require_once __DIR__ . '/product.php';

希望這有助於!

1

檢查您的文件名,尤其是區分大小寫(product.php!= Product.php)。

0

錯誤很簡單,在當前查找的地方找不到文件「product.php」。

我個人從來不信任該腳本知道在哪裏自動查找,我總是嘗試給絕對路徑。例如:

require_once $_SERVER['DOCUMENT_ROOT'] . '/somedir/anotherdir/product.php'; 
+4

**永遠不要相信$ _SERVER **!使用'__DIR__'或'dirname(__ FILE __)'。 – Xeoncross

+0

決不是一個很強烈的字眼,當然這取決於您的服務器配置和在什麼情況下,你使用它? –

+0

@AdamThornton是的,這取決於服務器的配置和當您從CLI腳本是completetly unsetted(這不是一個邊緣的情況下,我在想cronjobs)... –