PHPについて質問です。
MSG,ZIPファイルダウンロードサイト作成しております。
ダウンロードして指定のフォルダに格納するところまではできました。
プログラムには、
$file_name= mb_convert_encoding($file_name,"sjis-win","UTF-8");
これを記載しています。
ダウンロードしたファイルをクリックすると、
「テキストファイル処理の確認」という、
文字コードを選択できるダイヤログが出てきます。
それを押しても開くことはできません。
どうしたらいいのでしょうか?
説明不足かと思いますので、ヒントだけでも教えていただけるとありがたいです。
No.3ベストアンサー
- 回答日時:
>「圧縮(zip形式)が無効であるか、または壊れています」
>とメッセージがでます。
ほぉ・・・
>basename($filename)
ということはZIPファイルはPHPで圧縮したのではもともとZIPとして
おいてあるということで間違いないですね?
もちろん
$content_length = filesize($filename);
はしていますよね?
ちなみにもともとアップされているファイルと、ダウンロード
してきたファイルのサイズに差異はないでしょうか?
この回答への補足
ということはZIPファイルはPHPで圧縮したのではもともとZIPとして
おいてあるということで間違いないですね?
★そうです。ですが、リネームしてます。
もちろん
$content_length = filesize($filename);
はしていますよね?
★追加してみましたが、ダメでした。
ちなみにもともとアップされているファイルと、ダウンロード
してきたファイルのサイズに差異はないでしょうか?
★差異がありました。
お手数おかけしますが、よろしくお願いします。
No.2
- 回答日時:
うーん・・・
単純に拡張子が.ZIPになっていないとかじゃないでしょうか?
PHPのカテゴリーでの質問とのことですから
プログラムでZIPを吐き出しているのですかね?
であればきちんとhttpヘッダーはつけていますか?
たとえばこんな感じ・・・
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"download.zip\"");
この回答への補足
またまた迅速なご返答ありがとうございます。
zipで吐き出しています。
ヘッダーは下記のように設定済みです。
header("Content-Disposition: attachment; filename=\"".basename($filename)."\"");
header("Content-Length: ".$content_length);
header("Content-Type: application/octet-stream");
header('Content-Transfer-Encoding: binary');
ご質問の件、試してみましたがZIPで吐き出されていることは確かでした。。
そこでまた質問なのですが、
ZIPファイルを「プログラムから開く→フォルダを指定する」
と、
「圧縮(zip形式)が無効であるか、または壊れています」
とメッセージがでます。
これはプログラムの問題でしょうか?
私のPCの問題なのでしょうか?
初歩的な質問で申し訳ありません。
よろしくお願いします。
No.1
- 回答日時:
必要な情報がまったく伝わってこないのですが・・・
もうすこし仕様をきちんと説明してください
(1)自サイトにZIPがおいてある?
(2)そのZIPの中身はテキストファイル?
(3)それをクライアントPCにダウンロードさせる?
>ダウンロードしたファイルをクリックすると、
>「テキストファイル処理の確認」という、
ZIPファイルをクリックしてこのエラーがでるということですか?
ZIPの解凍をした上で、中身を開いたらどうなりますか?
それとも解凍ができないということ?
この回答への補足
迅速な対応ありがとうございます!
(1)自サイトにZIPがおいてある?
★はい
(2)そのZIPの中身はテキストファイル?
★テキストファイルもあります。他にもいろいろ。
(3)それをクライアントPCにダウンロードさせる?
★そうです。クリックしたら自動的にダウンロードしたいです。
ZIPファイルをクリックしてこのエラーがでるということですか?
★そうです。
ZIPの解凍をした上で、中身を開いたらどうなりますか?
それとも解凍ができないということ?
★デスクトップにダウンロードして開くと、解答しようとすると、テキストファイル処理の確認がでてきて、・・・・・・・zip.bakの形式になり、デスクトップにもうひとつファイルができます。
ご丁寧にありがとうございます。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- WordPress(ワードプレス) [BuddyPress]試したいのですが! 3 2022/06/01 13:36
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelとPHPについて・・・
-
CSVファイルのダウンロード
-
ファイルがダウンロードされる...
-
DelphiのURLDownloadToFile関数...
-
csvファイルの取り込み
-
phpでzipファイルダウンロード...
-
zip圧縮の種類について
-
PHPのFTP関数ftp_fgetエラーに...
-
ファイル一覧を表示しその画面...
-
サーバー上のファイルをブラウ...
-
PHPでCSVファイルの任意の行だ...
-
VB.NETのFTPダウンロードについて
-
指定したURLからファイル(PDF...
-
PHPでファイルのダウンロードす...
-
ファイル(PDF・エクセル・ワー...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
PHPで新しいウインドウで開く命...
-
別ファイルの変数を呼び出した...
-
バッチを用いたフォルダの自動移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで複数ファイルのダウン...
-
ファイル一覧を表示しその画面...
-
zip圧縮の種類について
-
eclipseでコメントアウトができ...
-
ブラウザでExcelをダウンロード...
-
複数ファイルを連続でダウンロード
-
phpでzipファイルダウンロード...
-
libxml2のインストール
-
PHPでファイルのダウンロードす...
-
CSV出力時の”0”表示(電話番号...
-
PHPでダウンロードしたファイル...
-
phpでうまく画像がダウンロード...
-
wgetの使い方
-
Excelファイルをダウンロード
-
サーバー上のファイルをブラウ...
-
日本語ファイル名のアップロー...
-
ファイルのダウンロードのイベ...
-
ダウンロードファイル名の文字...
-
ファイルへの直接アクセスをで...
-
動画をダウンロードするとサイ...
おすすめ情報