PHP判断远程图片文件是否存在

在php中我们利用file_exists来判断本地的文件是否存在,那么如何用PHP判断远程文件是否存在呢,下在我们一起来看一个例子,希望此例子是你需要用到的,代码如下:

  1. <?php
  2. /*
  3. *用PHP判断远程图片(文件)是否存在
  4. *http://www.phpfensi.com
  5. */
  6. function check_remote_file_exists($url) {
  7. $curl = curl_init($url);
  8. // 不取回数据
  9. curl_setopt($curl, CURLOPT_NOBODY, true);
  10. // 抓取跳转后的内容
  11. curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
  12. // 发送请求
  13. $result = curl_exec($curl);
  14. $found = false;
  15. // 如果请求没有发送失败
  16. if ($result !== false) {
  17. // 再检查http响应码是否为200
  18. $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
  19. var_dump($statusCode);
  20. if ($statusCode == 200) {
  21. // $retcode >= 400 -> not found, $retcode = 200, found.
  22. $found = true;
  23. }
  24. }
  25. curl_close($curl);
  26. return $found;
  27. }
  28. $exists = check_remote_file_exists('http://www.phpfensi.com /allimg/090403/140941513J2-2.jpg');
  29. if ($exists) {
  30. echo '存在';
  31. } else {
  32. echo '不存在';
  33. }
  34. $exists = check_remote_file_exists('http://www.phpfensi.com /allimg/090403/140941513J2-4.jpg');
  35. if ($exists) {
  36. echo '存在';
  37. } else {
  38. echo '不存在';
  39. }
  40. exit;
  41. ?>

还有一种简单的方法,但效率是低下的,代码如下:

strstr(current(get_headers($url)), "200")