2013-01-23 77 views
0

我有文件是否存在腳本檢查:上傳的文件,使is_resource()失敗 - PHP

function fileExists($url) { 
    $fh = fopen($url, 'r'); 
    if (is_resource($fh)) { 
     fclose($fh); 
     return true; 
    } 
    return false; 
} 

一切都正確,直到我試圖上傳的文件名中包含空格。打電話$url該文件的網址,當我把它放在瀏覽器中,它正確顯示該文件,但is_resource($fh)總是返回false。有人可以幫忙嗎?

+0

爲什麼不使用這些:'is_file','file_exists','stat'以及更多...... HTTP: //tr1.php.net/manual/en/ref.filesystem.php –

回答

2

$fh = fopen($url, 'r');之前補充一點:

$parts = pathinfo($url); 
$url = $parts['dirname'].'/'.rawurlencode($parts['basename']); 

順便說一下,有一個PHP bug ...

+1

Wouah偉大的工作! – Newben

+1

@新產品你應該接受它的答案,因爲它爲你工作 – Nick