ホームページ  >  記事  >  バックエンド開発  >  PHPファイルのダウンロード、ダウンロードしたファイルの内容が文字化け・破損する問題の解決策

PHPファイルのダウンロード、ダウンロードしたファイルの内容が文字化け・破損する問題の解決策

WBOY
WBOYオリジナル
2016-06-20 12:31:151017ブラウズ

PHP プログラムを作成する場合、PHP を使用してファイルをダウンロードする必要があります

それを実行し、コードをコピーして変更するだけです。

多くの効果が出てきました

ダウンロードをクリックした後、ファイルのダウンロードが完了したと思いましたが、画像を開くとファイルが破損していることが示されたので、ファイルのサイズを確認してみると、約 1KB でした。

PS で開くと、破損している旨のメッセージが出ますが、画像は出てきます。

そうすると、余分な 1kb の問題だと思います。

次に、テキストをアップロードしてダウンロードしました。

案の定、ファイルの前後にいくつかの余分な文字があることがわかりました。それらを削除する方法を考えています。Baidu、Google がフォーラムでさまざまな質問をしました。

1 時間以上検索した後、ついに解決策を見つけました。

コードは次のとおりです。以下に続きます

注:
public function download(){    $upload=M('upload');    $data=$upload->find($_GET['id']);    if(empty($data)){        header('HTTP/1.0 404 Not Found');        header('Location: .');    }else{    $path='./public/Uploads/'.$data['savename'];    header("Content-Type:".$data['type']);    header('Content-Disposition: attachment; filename="'.$data['name'].'"');    header('Content-Length:'.$data['size']);    ob_clean();    flush();    readfile($path);    }}

これが重要です。これらの 2 つの機能を使用すると、画像は正常に開き、テキストは文字化けしません。
ob_clean();flush();
転載元: http://www.9958.pw/post /download_content


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。