- ベストアンサー
PHPでのcsv出力について
- PHPでcsv出力を行う方法について教えてください。
- csvファイルを特定のフォルダに保存する方法を知りたいです。
- 保存時にポップアップが表示されずに、固定の場所に保存させたいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 一般的な方法というかブラウザの仕様というかそんな感じです。 要するに確認も無しに保存させる行為は出来ません。 リンクやボタンをクリックしていきなり指定された場所にファイルをダウンロードされたら怖くありませんか? (c:\window\system32\に何かdllとかexeが入ったり等) 実現させるとしたらIEのみになってしまうかもしれませんがActiveX等を利用して作るしかないと思います。 (クライアントにインストールされるのでインストールさえ許可しなければ問題が起きない)
その他の回答 (4)
- yambejp
- ベストアンサー率51% (3827/7415)
ちょっと思いなおしたこと・・・ ftpで処理する。 たいていのftpクライアントはファイルの保存位置は任意に 指定ができます。
- bm_hiro
- ベストアンサー率51% (200/388)
ユーザー側にXAMPPとかAIRとか入れても良いのであれば、可能なんじゃないかな~とは思いますが、ユーザー側にそれは要求できないって事なんですよね?
お礼
ありがとうございます。 ユーザー側に入れて良いかは交渉次第なんですが…。 難しいかもしれません。
- mtaka2
- ベストアンサー率73% (867/1179)
他の方も答えているように、ブラウザのセキュリティ的な問題がありますから、 PHP側からの処理では、フォルダ固定で強制的に保存させるというのは不可能です。 ですが、「特定の顧客向け」で「利用者は独自アプリケーションをインストールする」といった運用ができるのなら、下記の手段で固定フォルダへの保存は実現できると思います。 ・「引数で指定されたファイルを、拡張子をcsvに変えて、固定フォルダに移動する」という処理を行うアプリケーションを作成する。 ・利用者のPCに上述のアプリケーションをインストールする。また、csvではない特殊な拡張子(例えば、*.xxx)に、上述のアプリケーションを関連づける ・PHP側では、出力ファイル名の拡張子を、csvではなく、上述で関連づけた拡張子(*.xxx)にする ・利用者側では、PHPが出したファイルのリンククリック時に、「保存」ではなく「開く」を選ぶ 以上で、利用者のPCでは、「開く」の操作によって、独自アプリケーションが立ち上がるため、特定のフォルダへの移動がなされます。
お礼
利用者(ユーザー側)に独自アプリのインストールが可能かどうかが 交渉しないといけないのですが…。 でも、参考になりそうです。 ありがとうございます。
- yambejp
- ベストアンサー率51% (3827/7415)
セキュリティの問題なのでサーバー側でどうにかなる問題ではありません。 セキュリティの甘いブラウザを自作するのが一番早いと思います。
補足
ありがとうございます。 難しいですか。。。 一応、ユーザーからは確認画面は表示されても良いとは言われています。 ただ、その際の保存場所のデフォルトを毎回同じ場所にしたいそうです。 (現状だと直前に保存した場所がデフォルト表示される) 言葉足らずですみません。。 宜しくお願い致します。
お礼
早速の回答、ありがとうございます。 ユーザーからは、確認画面は表示させても良いといわれています。 ただ、その際に保存場所の初期表示を常に一定の場所にしたい そうです。 通常だと直前に保存処理を行った場所が初期表示されてしまいますが、 それをやめたいとの事でした。 言葉足らずですみません。。 宜しくお願い致します。