2015-03-08 53 views
0

我有這樣一段代碼在PHP中:file_exists無法與本地主機URL工作

if (file_exists($_POST['current_folder'])) { 
    //do something 
} 

file_exists始終返回false。傳遞給該函數的值是:

echo $_POST['current_folder']); //This prints: http://localhost/wordpress/wp-content/music 

我也嘗試了localhost上的不同文件夾。該函數總是返回false。我也試過is_dir()。但即使這個函數返回false與上面的URL。

堆棧溢出有很多相關的問題。但大多數人認爲file_exists只適用於相對網址。但從this link很明顯,http:// URL也支持file_exists函數。

我錯過了什麼?

+0

使用本地文件路徑,而不是hte web路徑 – 2015-03-08 20:18:58

回答

0

使用目錄路徑;不是網址:

<?php 
$filename = '/path/to/foo.txt'; 

if (file_exists($filename)) { 
    echo "The file $filename exists"; 
} else { 
    echo "The file $filename does not exist"; 
} 
?> 
+0

好的謝謝你的答案。有沒有辦法檢查一個遠程目錄是否存在或不在PHP中? – 2015-03-08 20:27:06

+0

http://stackoverflow.com/questions/5425891/how-do-i-check-with-php-if-directory-exists – 2015-03-08 20:30:12

+0

我試過is_dir()也。但即使它不與http url – 2015-03-08 20:32:28

1

在windows下使用Apache 2.4.9進行測試。

<?PHP 
$crl = curl_init("http://localhost/symfony2/"); 
curl_setopt($crl, CURLOPT_NOBODY, true); 
curl_exec($crl); 

$ret = curl_getinfo($crl, CURLINFO_HTTP_CODE); 
curl_close($crl); 

if ($ret == 200) 
    echo 'File exists'; 
else 
    echo 'File does not exist'; 
?> 

它的工作原理,只是一張紙條,但出於某些原因需要斜線。

代碼200表示OK(成功)。