2012-12-05 11 views
1



我目前使用安裝了WAMP服務器的Windows 7。我試着做一個簡單的PHP「文件存在」的命令,但由於某些原因,它的工作很多不同....這裏是我的代碼:PHP文件存在錯誤 - 在外面檢查?

if(file_exists('\prop\sys\config.txt')) { 
echo 'exist'; 
} else { 
echo 'dont exist'; 
} 

簡單,因爲它的聲音,即使該文件確實存在,PHP回來的時候不存在。這難倒我在第一,但是當我試圖讓PHP檢查文件我實際的計算機上,如:

if(file_exists('C:\Users\PeopleUser\Desktop\f.txt')) { 
echo 'exist'; 
} else { 
echo 'dont exist'; 
} 

令人驚奇的是,它回來爲真!因此,這意味着WAMP正在檢查文件夾的外部。我嘗試啓用「安全模式」並重新啓動WAMP,但它仍然無法工作,我也禁用了「公開PHP」以試圖阻止它。它不工作,PHP將自由檢查我的電腦。

我該如何解決這個問題?

+0

最好使用['is_readable'](http://php.net/manual/en/ function.is-readable.php) – diEcho

回答

0

PHP是一個服務器端進程,可以訪問主機的文件系統。您指定的任何路徑都是文件系統路徑。

你最好是構建一個相對於PHP文件的路徑。例如,假設含有您的代碼的文件是在文檔根(含有prop文件夾相同的文件夾)

$path = realpath(__DIR__ . '/prop/sys/config.txt'); 

if (file_exists($path)) { 
    // and so on 
+0

這仍然沒有工作......我從來沒有體驗過這與WAMP –

+0

@SteveLaster我的答案只是一個例子。什麼是PHP腳本和'config.txt'的絕對位置(在你的硬盤上)? – Phil

+0

C:\ wamp \ www \ prop \ sys \ config.txt –