0

私はphpドキュメントで次のコードを使用してpdfフォームを強制的にダウンロードしています。これは、送信がオンラインではなくローカルマシンにある場合にのみ機能するためです。

ファイルは正常にダウンロードされますが、破損します。PDFドキュメントを開くことができなくなりました。

<?php 
$file_name = 'costumer.pdf';
$file_url = 'http://www.lopezi.com/forms/' . $file_name;
header('Content-Type: application/pdf');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"".$file_name."\""); 
readfile($file_url);

?>
4

1 に答える 1

1

このContent-Transfer-Encoding場合、ヘッダーは必要ありません。さらに、出力されたファイルに破損があると思われます。

どこかにダウンロードし、メモ帳を開き、そこにファイルをドラッグします。PHP の警告またはエラーが生成された場合は、上部に表示されます。

また、スクリプトからより多くのコンテンツが返されるオプションを回避して、ダウンロードで問題を引き起こし、次のように終了します。

die(file_get_contents($file_url));

こうすることで、出力を追加して誤って簡単にコードを壊してしまうことを防ぐことができます。

于 2013-04-16T16:29:34.260 に答える