
はじめまして、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
wgetの使い方
-
CSVファイルのダウンロード
-
zip圧縮の種類について
-
PHPのif文でその処理を途中で抜...
-
SQLiteに画像を格納したい
-
$_SESSION 有効期限をブラウザ...
-
system()でssh命令文の実行結果...
-
php で C言語のdefineマクロの...
-
jpgraphで表示されない
-
VBSの「MsgBox」について
-
「imagejpeg」(GD)で作成した...
-
CFileDialogの最初のディレクト...
-
「クラス関数」「メンバ関数」...
-
httpdのプロセスが自動で消えな...
-
PHP PDOライブラリが読み込まれ...
-
getimagesizeで画像がなかった...
-
apacheのhttpd.confにAdd Type ...
-
xamppでGDを使いたい。
-
if ('0.0'=='0'){ の0.0とは何
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
ファイル一覧を表示しその画面...
-
zip圧縮の種類について
-
PHPでファイルのダウンロードす...
-
eclipseでコメントアウトができ...
-
PHPでダウンロードしたファイル...
-
生成したHTMLをボタンクリック...
-
ダウンロードファイル名の文字...
-
phpでうまく画像がダウンロード...
-
VB.NETのFTPダウンロードについて
-
CSV出力時の”0”表示(電話番号...
-
ftp_getでローカルにファイルが...
-
ファイルダウンロードについて
-
ファイルのダウンロードのイベ...
-
CSVファイルのダウンロード
-
ダウンロードダイアログなしで...
-
PHPで複数ファイルをZIPで圧縮...
-
GetFileでテンポラリが作られて...
-
CSVファイルのダウンロード時に...
-
phpでの帯域制御、ダウンロード...
おすすめ情報