はじめまして、PHPについて質問させていただきます。
PHPでファイルを複数ダウンロードできるようしたいと思っています。
色々調べ、header関数を使用し、以下のように記述すると
ファイルのダウンロードは成功しました。
/*****************************************/
// ダウンロードさせる元ファイル(絶対パス)
$filepath = 'test_01.pdf';
// 保存時のファイル名(デフォルト)
$filename = 'download001.pdf';
// HTTPヘッダ送信
header("Content-length: " . filesize($filepath));
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=\"{$filename}\"");
// ファイルを読み込んで出力
readfile($filepath);
/*****************************************/
一つのファイルのダウンロードに成功したので、
次に複数のファイルを順番にダウンロードをさせる為にループ処理をしました。
/*****************************************/
//配列 複数ファイル
$downfile = array("test_01","test_02","test_03");
//データ数
$max = count($downfile);
// ダウンロードさせるディレクトリ(絶対パス)
$filepath = "/home/sites/www.eshop-himawari.com/web/test_nihon/form_down/file/";
// 保存時のファイル名(デフォルト)
$filename = "download";
$filetype = ".pdf";
$kazu = 1;
//ループ処理
for( $i = 0; $i < count( $max ); $i++ ){
$downpath = $filepath.$downfile[$i].$filetype;
$filename = $filename.$kazu.$filetype;
$kazu = $kazu++;
// HTTPヘッダ送信
header("Content-length: " . filesize($downpath));
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=\"{$filename}\"");
// ファイルを読み込んで出力
readfile($downpath);
// $fp = fopen( "$downpath", "rb" );
// @fpassthru( $fp );
}
/*****************************************/
しかし実行すると最初のファイルはダウンロードしますが
2つ目からのファイルはダウンロードされませんでした。
きちんとループ処理をされて、2つ目以降のファイルをダウンロード
するには、どうすればいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Excel(エクセル) エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし 4 2023/06/06 21:00
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cakephpでのダウンロード機能の...
-
画像の文字化けが解決できません
-
XMLのロードに失敗する
-
PHPのif文でその処理を途中で抜...
-
【file_exists】ファイルが存在...
-
onedrive にexcelファイルをア...
-
拡張子php画像をjpg画像等に変...
-
youtubeに音声のみのmp4ファイ...
-
PHPのMySQLモジュールのインス...
-
pixivのイラスト投稿の仕方を教...
-
javascriptからphpへ変数
-
PHPで作るフレーム、どんな風に...
-
PHPで外部プログラムのバックグ...
-
FTPでのファイルとディレクトリ...
-
ファイルアップロードの上限を...
-
フレームワークの選定について
-
ヒアドキュメントの中で別ファ...
-
PHP8を使うと、大量のWarningが...
-
さくらサーバーにて、phpからメ...
-
PHP MySQLに画像を直接保存
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
ファイル一覧を表示しその画面...
-
zip圧縮の種類について
-
eclipseでコメントアウトができ...
-
ブラウザでExcelをダウンロード...
-
複数ファイルを連続でダウンロード
-
phpでzipファイルダウンロード...
-
libxml2のインストール
-
PHPでファイルのダウンロードす...
-
CSV出力時の”0”表示(電話番号...
-
PHPでダウンロードしたファイル...
-
phpでうまく画像がダウンロード...
-
wgetの使い方
-
Excelファイルをダウンロード
-
サーバー上のファイルをブラウ...
-
日本語ファイル名のアップロー...
-
ファイルのダウンロードのイベ...
-
ダウンロードファイル名の文字...
-
ファイルへの直接アクセスをで...
-
動画をダウンロードするとサイ...
おすすめ情報