• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php怎么判断远程图片是否存在

php 搞代码 4年前 (2022-01-04) 23次浏览 已收录 0个评论

php判断远程图片是否存在的方法:

function file_exists($url) {$curl = curl_init($url);// 不取回数据curl_setopt($curl, CURLOPT_NOBODY, true);// 发送请求$result = curl_exec($curl);$found = false;// 如果请求没有发送失败if ($result !== false) {// 再检查http响应码是否为200}

fsockopen版:

 $url = "http://www.baidu.com/img/baidu_sylogo1.gif";    $info = parse_url($url);    $fp = fsockopen($info['host'], 80,$errno, $errstr, 30);    fputs($fp,"GET {$info['path']} HTTP/1.1\r\n");    fputs($fp, "Host: {$info['host']}\r\n");    fputs($fp, "Connection: close\r\n\r\n");    $headers = array();    while(!feof($fp)) {    $line = fgets($fp);    if($line != "\r\n") {    $headers[] = $line;    }else {    break;    }    }    echo "<pre>";    print_r($headers);

通过http状态码来判断文件是否存在,比如,响应 302,301,404等都为不存在,如果是200,304,等可以视为文件存在。

fopen()方法:

<?php    $url = 'http://www.test.com/images/test.jpg';    if( @fopen( $url, 'r' ) )    {        echo 'File Exits';    }    else    {        echo 'File Do Not Exits';    }    ?>

CURL方法:

<?php    $url2 = 'http://www.test.com/test.jpg';    $ch = curl_init();    $timeout = 10;    curl_setopt ($ch, CURLOPT_URL, $url2);    curl_<p style="color:transparent">来源gao!%daima.com搞$代*!码网</p>setopt($ch, CURLOPT_HEADER, 1);    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);    $contents = curl_exec($ch);    //echo $contents;    if (preg_match("/404/", $contents)){        echo '文件不存在';    }    ?>

推荐:php服务器

以上就是php怎么判断远程图片是否存在的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php怎么判断远程图片是否存在
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址