1
次のコードでphpを使用してウェブサイトから画像をダウンロードしようとしています。PHPを使用して強制的に画像をダウンロードする
現在、ファイルをidendtifyしてダウンロードします。ダウンロードされたファイルは で、開かれておらず、破損していると表示されます。以下のコードの問題点は何ですか?
また、このページを自分のモバイルアプリに埋め込んでいます。モバイルアンドロイドデバイスでも機能します
<?php
$file = "http://example.com/animals/1.jpg";
// Parse Info/Get Extension
$fsize = filesize($file);
$path_parts = pathinfo($file);
$ext = strtolower($path_parts["extension"]);
// Determine Content Type
switch ($ext)
{
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: die('Wrong Extension');
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false); // required for certain browsers
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"Test".basename($file)."\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . $fsize);
ob_clean();
flush();
readfile($file);
exit();
?>
返信ありがとうございます。私は与えられたコードで試しました。しかし、それでも画像が壊れているか、破損しているか、または大きすぎて開けることができないという同じことを示しています。 画像のサイズが若干小さくなっています。元の画像は9kbでしたが、ダウンロードされた画像は8kbでした。それが何か問題を引き起こしていますか? – user3391693