私はbashスクリプトを実行して出力tarをダウンロードするPHPページを持っています。問題は、ファイルがダウンロードされると、ページがロードされてリダイレクトされないことです。私はこのようないくつかの問題を見つけましたが、私の場合に当てはまるものは何もありません。私のコードは次の通りです:ファイルがPHPでダウンロードされた後に私のページが読み込みを続けるのはなぜですか?
<?php
$output=shell_exec('cd /opt/dir/ && sudo ./collect_diagnostics.sh && cd -');
$rows_output = explode("Report is in ", $output);
$rows_output2 = explode(" ", $rows_output[1]);
$path_parts = pathinfo($rows_output2[0]);
$file_name = $path_parts['basename'];
$file_path = "/opt/dir/test/".$file_name;
if (is_readable($file_path)) {
header('Content-Disposition: attachment; filename="'.$file_name.'"');
ob_clean();
readfile($file_path);
} else {
echo "404 Error";
}
header('Location:./aps_control.php') ;
?>
私はbashスクリプトが動作していて、ダウンロードが行われ、有効なファイルがあります。唯一の問題は、ページのロードが完了しないことと、これが関連しているかどうかわからないが、7-zipで解凍されたファイルが「ペイロードデータの最後の後にいくつかのデータがあります:version_Placeholder.tar」と言います。また、私は個人的な改善のために間違っていることを本当に知りたいです。ファイルをダウンロードする方法を学習するための
私の主なリソースは、あなたがページを表示し、同じリクエストにファイルを提供しようとするべきではありませんhttp://www.media-division.com/the-right-way-to-handle-file-downloads-in-php/
誰にでも投票してくださった方に、私がなぜ投票を避けることができるのか教えてください。さもなければ、それは潜在的に私の能力を将来的に学び、質問する私の能力を損なうものではありません。 – mando222