PHP最便宜的方法如何检查远程图像是否存在

时间:2011-10-03 05:14:51

标签: php

我想检查是否存在远程图像。 目前使用CURL并根据其对i的响应可以确定文件是否存在。 但是,这也需要花费一些时间,具体取决于图像文件的大小。

有没有最安全,最便宜的方式进行检查而不离线或使用缓存?

$ch = curl_init();
        // set URL and other appropriate options
        /*--Note: if in sabre proxy, please activate the last 4 lines--*/
        $options = array(   CURLOPT_URL => $img,
                            CURLOPT_HEADER => false,  // get the header
                            CURLOPT_NOBODY => true,  // body not required
                            CURLOPT_RETURNTRANSFER => false,  // get response as a string from curl_exec, not echo it
                            CURLOPT_FRESH_CONNECT => false,  // don't use a cached version of the url
                            CURLOPT_FAILONERROR => true,
                            CURLOPT_TIMEOUT => 5
                        );


        curl_setopt_array($ch, $options);

        if(!curl_exec($ch)) { return FALSE; } 

        $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        curl_close($ch);

        return ($httpcode<400); 

1 个答案:

答案 0 :(得分:6)

Perform a HEAD request并检查回复代码。