$url=download.piriform.com/ccsetup524.exe
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
// don't download content
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if(curl_exec($ch) !== FALSE)
{
return true;
}
else
{
return false;
}
这很好用 - 它返回 true (这意味着链接可以下载)。
但是当网址没有像
那样的扩展名时$url=https://drive.google.com/open?id=0B5a6JxhqgyoIdGFVeXFKSGZsd0E
它不起作用。 它总是返回 false (这意味着链接不可下载)。
答案 0 :(得分:0)
curl
的证书可能已过期。它不起作用,因为第二个链接是https
。要快速修复,请添加:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
要获得正确的修复,您需要下载最新的证书包并设置您的php配置以使用它。这是一个关于它的教程:
答案 1 :(得分:0)
你做了一些奇怪的假设:
这很好 - 它返回true(表示链接可以下载)。
它总是返回false(表示链接不可下载)。
正如docs解释curl_exec()
在失败时的false
的返回值(任何类型的失败),并且您curl_error()找出错误。不需要猜测!