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

これは、特定の pdf ファイルを特定の URL からダウンロードするために使用するコードです。その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 に答える