如何跳过http状态为404或401的图像?

我正在尝试将图像从 Dropbox 保存到我的服务器。我已经为此编写了代码。在使用代码下载图像之前,我还在检查 url 的 HTTP 状态。我得到了正确的状态,但问题是它总是抛出错误 401,即使我已经设置了下载状态代码为 200 或 302 的图像的条件。我在我正在用 laravel 阅读的 excel 文件中有图像的链接包裹。请帮我。


图像状态检查功能


public static function CheckLinkStatus($image)

{

        $ch = curl_init($image);

        curl_setopt($ch, CURLOPT_NOBODY, true);

        curl_exec($ch);

        $retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        curl_close($ch);


        return $retcode;

}


白猪掌柜的
浏览 168回答 2
2回答

GCT1015

尝试这个:$ch = curl_init($image);curl_setopt($ch,  CURLOPT_RETURNTRANSFER, TRUE);$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if($httpCode != 404) //# if error code is not "404"{    /* Your Function here. */}else {    /* Handle 404 here. */}

宝慕林4294392

尝试设置一组 http 代码,例如:$httpCodes = [401,404];而不仅仅是检查:  if(!in_array(CheckLinkStatus($image),$httpCodes){        // YOur logic    }   else {        // Handle 401 && 404    }
打开App,查看更多内容
随时随地看视频慕课网APP