<?php
set_time_limit(0);
$url = 'http://www.some.url/file.pdf';
$path = 'files/file.pdf';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
file_put_contents($path, $data);
?>
这是我用来从给定网址下载特定pdf文件的代码。 如果该URL中有多个文件名称为file1.pdf,file2.pdf等,该怎么办?如何在运行循环时检查,何时结束循环,因为文件的数量有限?
请帮忙!
答案 0 :(得分:5)
检查404代码:
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
/* file NOT found */
}
检查mime类型:
$mimeType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
if($mimeType == 'application/pdf') {
/* It IS pdf file */
}
但请注意,mime类型可以是其他类型,但它仍然是PDF文件!另外,请检查您的PDF文件的mime类型:echo
以了解您必须查找的内容。我并不确定,if
声明中的代码是正确的(仅示例)
您可以在curl_get_info()
之后立即致电curl_exec()
。
答案 1 :(得分:0)
pass image link inside file_get_contents();
then check using preg_match();
<?php $link = $image->img1;
$filecontent=file_get_contents($link);
if(preg_match("/^%PDF-1.5/", $filecontent)){
echo "Valid pdf";
}else{
echo "In Valid pdf";
}
?>
You can also check: to get last three character of your file
<?php
$img_type = substr($image->img1, -3); ?>
<?php if(preg_match("/^%PDF-1.5/", $filecontent) || $img_type == 'pdf' ){ }?>