這個問題是關於使用fopen來檢查文件是否存在,而不是cURL
或getimagesize
哪些是替代方法,但不是我所問的。PHP:檢查圖像文件是否存在使用fopen
我一直在代碼中使用以下函數幾年沒有問題,它突然總是返回FALSE
,即使在有效的圖像。我不知道我是否意外地創建了一個錯字,或者我的主機是否更改了PHP的版本或者可能導致了錯誤的原因,但是如果有人能夠發現可能會出錯的錯誤,將不勝感激。
這裏是代碼:
function image_exist($url) {
if (@fclose(@fopen($url, "r "))) {
// true;
return TRUE;
} else {
// false;
return FALSE;
}
}
這是現在即使在有效圖像返回FALSE
。
停止使用'@'。它的編碼等同於將你的手指塞進你的耳朵,然後「拉拉拉拉聽不到你」。它還隱藏了PHP可能試圖告訴你什麼是問題的任何消息。另外,像這樣的鏈接調用只是糟糕的編程。如果fopen失敗,它將返回布爾值false,然後嘗試更頻繁地導致進一步的錯誤。永遠不會假設成功與外部資源。 –
我會如何解開它?幾年前寫了這段代碼,坦率地說在php上生鏽了。 – user1904273
你必須重寫它。相反,嘗試使用Google搜索。 http://www.stackoverflow.com/questions/14806159/how-do-i-test-if-an-遠程圖像文件存在於PHP http://stackoverflow.com/questions/10489210/check-if-remote-images-exist-php http://stackoverflow.com/questions/981954/how- can-one-check-to-see-if-a-remote-file-exists-using-php 正如你所看到的,這真的是一個重複的主題。這已經被很多次回答了。 –