3
<?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);
?>

这是我用来从给定 url 下载特定 pdf 文件的代码。如果该 url 中有很多文件,名称为 file1.pdf、file2.pdf 等。如何在运行循环时检查,何时结束循环,因为文件的数量有限?

请帮忙!

4

2 回答 2

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()

于 2013-04-05T11:40:28.600 回答
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' ){ }?>
于 2020-11-21T05:08:32.287 回答