-1

PHPを使用してファイルをダウンロードしようとしています。これでファイルがダウンロードされましたが、元の形式になりません (拡張子がありません)。元のファイル拡張子を使用して名前を変更した後、ダウンロードしたファイルを使用できます。次のコードを使用しています

header("Expires: 0");  
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");  
header("Cache-Control: no-store, no-cache, must-revalidate");  
header("Cache-Control: post-check=0, pre-check=0", false);  
header("Pragma: no-cache");  
header("Content-type: application/".$result['ext']);  
header('Content-length: '.filesize($file));  
header('Content-disposition: attachment; filename='.$result['file_name']); 
readfile($file);  
exit; 

どこ

$result['ext']="rar",
$file="file path to the uploaded folder".
4

1 に答える 1

2

Content-dispositionヘッダーの一部として、拡張子をファイル名でブラウザに送信する必要があると確信しています。

あなたのコードでは、これを変更する必要があります:

header('Content-disposition: attachment; filename='.$result['file_name']); 

に:

$filename = $result['file_name'] . '.' . $result['ext'];
header('Content-disposition: attachment; filename=' . $filename); 
于 2012-06-21T16:05:58.560 に答える