PHP - 如何检查没有可下载的扩展 URL
PHP - How to check no extension downloadable URL
$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;
}
这工作正常 - 它 returns true(这意味着 link 是可下载的)。
但是当 url 没有扩展名时
$url=https://drive.google.com/open?id=0B5a6JxhqgyoIdGFVeXFKSGZsd0E
它不起作用。
它总是 returns false (这意味着 link 不可下载)。
curl
的证书可能已过期。它不起作用,因为第二个 link 是 https
。要快速修复,请添加:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
要进行正确修复,您需要下载最新的证书包并设置 php 配置以使用它。这是一个教程:
你在做一些奇怪的假设:
This works fine - it returns true (that means the link is downloadable).
It always returns false (that means the link is not downloadable).
作为docs explain the return value of curl_exec()
is false
on failure (any kind of failure) and you have curl_error()找出问题所在。不用猜!
$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;
}
这工作正常 - 它 returns true(这意味着 link 是可下载的)。
但是当 url 没有扩展名时
$url=https://drive.google.com/open?id=0B5a6JxhqgyoIdGFVeXFKSGZsd0E
它不起作用。 它总是 returns false (这意味着 link 不可下载)。
curl
的证书可能已过期。它不起作用,因为第二个 link 是 https
。要快速修复,请添加:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
要进行正确修复,您需要下载最新的证书包并设置 php 配置以使用它。这是一个教程:
你在做一些奇怪的假设:
This works fine - it returns true (that means the link is downloadable).
It always returns false (that means the link is not downloadable).
作为docs explain the return value of curl_exec()
is false
on failure (any kind of failure) and you have curl_error()找出问题所在。不用猜!