检查 url 是否提供可下载文件?
Check if a url offers a downloadable file?
我目前正在处理一些联盟提要,其中大多数以原始 .csv 格式提供。我正在使用 file_get_contents 与 fputcsv() 一起生成 .csv 文件。
不幸的是,我的附属机构 url 之间还有一个 link,当您在浏览器中访问 url 时,它会立即下载一个 csv 文件。这不需要进一步的工作,因为它是一个完美的 .csv 文件。
因为我只是将我的 url 放在一个数组中,所以我需要检查何时提供文件作为下载 link。我该如何检查才能跳过所有默认的 .csv 逻辑而不弄乱这个文件?
我不知道要搜索什么,因为我不知道直接下载文件而不是查看原始 csv 数据时到底发生了什么。希望有人能帮助我。
您可以使用 CURL 检查文件是否可下载:
PHP
function checkDownloadable($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
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;
}
}
我目前正在处理一些联盟提要,其中大多数以原始 .csv 格式提供。我正在使用 file_get_contents 与 fputcsv() 一起生成 .csv 文件。
不幸的是,我的附属机构 url 之间还有一个 link,当您在浏览器中访问 url 时,它会立即下载一个 csv 文件。这不需要进一步的工作,因为它是一个完美的 .csv 文件。
因为我只是将我的 url 放在一个数组中,所以我需要检查何时提供文件作为下载 link。我该如何检查才能跳过所有默认的 .csv 逻辑而不弄乱这个文件?
我不知道要搜索什么,因为我不知道直接下载文件而不是查看原始 csv 数据时到底发生了什么。希望有人能帮助我。
您可以使用 CURL 检查文件是否可下载:
PHP
function checkDownloadable($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
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;
}
}