2013-07-18 47 views
0

我正在使用windows下的php web應用程序。我有許多腳本文件放置在它們各自的文件夾中,並且所有文件都需要位於根項目中的名爲'connexion.php'的文件。使用php包含函數時出錯

項目的結構如下: Projet_beta:

-client (folder): 
      *addClient.php 
      *modifyClient.php 
      *deleteClient.php 

    - connexion.php 

所以,當我使用include ('../connexion.php')的 'addClient.php' 裏面顯示此錯誤消息:

警告: include(connexion.php)[function.include]:未能打開流:第3行中的C:\ wamp \ www \ project_beta \ client \ addClient.php中沒有這樣的文件或目錄。

我該如何解決這個問題? 感謝每一位。

+0

這是否服務器做任何URL重寫? – George

回答

0

檢查您httpd.conf文件:

  1. 上WAMP左鍵點擊
  2. PHP菜單
  3. 打開httpd.conf文件
  4. 找到符合DocumentRoot
  5. 開始更改線路DocumentRoot "c:/wamp/www/"和保存文件
  6. 重新啓動wamp服務

然後使用:

include($_SERVER['DOCUMENT_ROOT'] . '/project_beta/connexion.php'); 
+0

謝謝你Brewal的回答。 – user2567806

+0

@ user2567806如果這可行,您可以「接受」這個答案。 – Brewal

+0

我用'echo'來顯示dirname($ _ SERVER ['DOCUMENT_ROOT'])的結果。 DIRECTORY_SEPARATOR。 'connexion.php';它顯示我:C:/ wamp \ connexion.php或我的文件connexion.php位於:c:\ wamp \ www \ project_beta \! – user2567806

1

試一下這個包括( '/../connexion.php')

額外的斜線應該解決您的問題。

+0

Thank's Robust我試過了,但問題仍然存在:(。 – user2567806

-1

PHP 4.3.0之前的PHP版本不支持通過此函數訪問遠程文件,即使allow_url_fopen已啓用。

+0

我的php版本是5.3.13 – user2567806

+0

-1,因爲這個答案不適用於這個問題。 – Carsten

0

您可以使用目錄名稱FUNC:

include(dirname(__FILE__)."/connexion.php")); 
+0

EoiFirst:我有這個消息:Warning:include(C :\ wamp \ www \ project_beta)[function.include]:未能打開流:在C:\ wamp \ www \ project_beta \ clients.php中拒絕權限 – user2567806

+0

即使您嘗試了我的回覆,問題仍然存在。 – user2567806

+0

我很久沒做過PHP了,所以我的答案可能並不完美,我記得我曾遇到同樣的問題,而dirname函數幫助我解決了這個問題。嘗試閱讀關於它的文檔:http://php.net/manual/fr/function.dirname.php – EoiFirst

0

應該使用

dirname(__FILE__)."../connexion.php" 

代替。 在這種情況下,「../」從執行文件的路徑搜索文件,而不是文件的真實路徑。