PHPは1つの画像ファイルを抽出してブラウザに表示するコードを実現する

735 ワード

昨年、ユーザーがアップロードした画像ファイルを文字リストにリストし、ユーザーがファイル名をクリックすると、この画像を表示するプロジェクトを行ったことがある.
様々な画像フォーマットの互換性を考慮するため、GDライブラリを使用して、具体的にはその画像ファイル(MINE)であると判断し、対応するイメージ生成関数imagecreatefromXXX()を呼び出し、1つのimgを生成し、このimgをjpeg形式でブラウザに出力することは、できたものの、何となく不満である.
今日この機能を再考する機会があって、phpマニュアルの中で何行のコードを発見して、簡潔で明快で、完全に私の望む機能を実現することができて、まだGDライブラリを必要としません
 
  
$size = getimagesize($filename); // mime
$fp=fopen($filename, "rb"); //
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp); //
exit;
} else {
// error
}
?>

コード量は私の元の1/10にも満たないので、速度はN倍速いです.