PHP でダウンロードした画像が開けない問題の解決策: まず、関連する PHP ファイルを開いてから、そのファイルに「ob_clean」関数を追加して、出力バッファ内のコンテンツを破棄します。
推奨: 「PHP ビデオ チュートリアル 」
php は画像をダウンロードして開くことができませんでした。
最近、画像のダウンロードを書きました。ダウンロードは成功しました。開くと、ファイルが間違っていると表示され、開けません。長い間検索しました。
Du Niang さんは、BOM の問題だと言いましたが、変更しました。エンコード形式は BOM 形式なしの utf-8 で、アップロード後も問題は解決しません。
最後に ob_clean(); を追加します問題解決
ob_clean の機能は、出力バッファー内のコンテンツを破棄することです。Web サイトに生成された画像ファイルが多数ある場合は、正しくアクセスするには、バッファを頻繁にクリアする必要があります。
これが私のコードです:
function download($file_path,$file_name){ // header("Content-type:text/html;charset=utf-8"); //首先要判断给定的文件存在与否 if(!file_exists($file_path)){ return false; } $fp=fopen($file_path,"r"); ob_clean(); $file_size=filesize($file_path); //下载文件需要用到的头 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length:".$file_size); Header("Content-Disposition: attachment; filename=".$file_name); $buffer=1024; $file_count=0; //向浏览器返回数据 while(!feof($fp) && $file_count<$file_size){ $file_con=fread($fp,$buffer); $file_count+=$buffer; echo $file_con; } fclose($fp); }
以上がPHPでダウンロードした画像が開けない場合はどうすればいいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。