2013-07-16 38 views
0

我有一個存儲在一個字符串中的文件路徑。這可能是一個本地文件路徑,或其他任何東西(也可以認爲是HTTP/FTP)。 file_exists()可以很好地檢查這個問題,但如果文件存在並且位於FTP協議上,它也會返回true,我只想知道文件是否專門針對本機(只要是合理的)。我不想做一個正則表達式檢查或任何協議,因爲這裏有更多的協議,而不僅僅是HTTP和FTP,所以嘗試並排除所有這些協議是不可行的。如何判斷與文件有關的字符串是否存在,更具體地說,是本地的

+0

爲什麼你不希望使一個協議檢查? '://'不是您在實踐中使用的任何文件系統上的(部分)有效名稱,如果您發現它不容易確定協議是否爲「文件」(您並不在乎這是如果它不是「文件」)。如果*不*找到'://'那麼顯然它是一個本地文件路徑。簡單實施,並將爲您在實踐中遇到的一切工作。 – Jon

+0

@AndreasLinden:我已經提到過這種可能性:如果你找到了一個協議,並且它是「文件」,那麼去除協議並繼續。 – Jon

+0

感謝你們,文件://技巧效果很好,我將唯一的「答案」標記爲正確,歡呼聲。 – Peter

回答

0

,您可以強制路徑是本地這樣的:

file_exists('file://'. $pathToFile); 

因此,如果路徑具有HTTP或某事,這將失敗...

相關問題