• 締切済み

Androidでダウンロードファイル名が固定される

ブラウザから「http://[domain]/download/100」という形のURLにアクセスすると、 100の部分をIDとして対応するファイルを返すようにしています。 この時、Androidブラウザからのアクセスに限りファイル名がopenFile.pdfになってしまいます。 ※pdfの部分はContent-Typeの指定値に準拠する形で変わります。 PCの各種ブラウザやiPhoneからはサーバにあるファイル名そのままでDL出来ます。 レスポンスヘッダは下のとおりです。 対応方法をご存知のかた、どうぞご回答のほどよろしくお願い致します。 ------------------------------------------------ HTTP/1.1 200 OK Date: Tue, 26 Mar 2013 20:00:00 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.3.3 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Disposition: attachment; filename="sample01.pdf"; Cache-Control: public; Pragma: public Connection: close Transfer-Encoding: chunked Content-Type: application/pdf ------------------------------------------------

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

回答No.1

header()関数でファイル名設定しているか?

関連するQ&A

  • move_uploaded_fileでアップロードしたファイルのダウンロード・解凍

    move_uploaded_fileでzipファイルをアップロードし、 chmodでパーミションを0777に変更しました。 この状態で、直接ファイルを指定すれば、普通にダウンロード・解凍できるのですが、 このファイルを別プログラムから、 header('Content-type: application/octet-stream'); header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); header('Pragma: no-cache'); header('Content-Disposition: attachment; filename="ファイル名"'); header('Content-Length: ファイルサイズ'); としてfpassthruで開くと、ダウンロードはできますが、解凍ができません。 しばらく考えているのですが、解決できず…。 宜しくお願いします。

    • 締切済み
    • PHP
  • IE6でダウンロードさせたい【PHP】

    IE6でダウンロードさせたい【PHP】 現在、PHPからのヘッダ出力を使って ファイルダウンロードさせるプログラムを作成しています。 (PHPスクリプトが呼ばれると、 ダウンロードダイアログが出現する) FireFoxでは問題なく動作するのですが、 IE6だと動作しません。(ダイアログが出ない) ※ちなみに、SSLは使ってません。 --↓ソース------------------- header("Content-Disposition: inline; filename=\"".basename($path_file)."\""); header("Content-Length: ".$content_length); header("Content-Type: application/octet-stream"); readfile($path_file) ---------------------------------- -IE6のHTTPヘッダ(デバッガで抽出)-- HTTP/1.1 200 OK Date: Thu, 20 May 2010 07:35:19 GMT Server: Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9 X-Powered-By: PHP/5.2.9 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Disposition: inline; filename="20100520_133719_irai_1.txt" Content-Length: 2415 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: application/octet-stream ---------------------------------- どなたか解決策に心当たりのある方、ご教授宜しくお願いします!

    • ベストアンサー
    • PHP
  • ブラウザの戻るができないようにしたい

    ページ内はHTMLファイルですが、そのページのiframe内にperlで動的ページを表示させています。 クリック自体はifream内の動的ページですが、ページのキャッシュが残っているらしく、ブラウザの戻るが有効になります。 戻るができないようにしたいのですが何か良い方法はありますか? 以下、効果はありませんでした。 ファイル1 test.html <html> <head> <title>HTML</title> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Fri, 31 Dec 2004 23:59:59 GMT"> </head> <body> <ifream src="test.cgi"></ifream> </body> </html> ファイル2 test.cgi print "Content-type: text/html\n"; print "Pragma: no-cache\n"; print "Cache-Control: no-cache\n"; print "Expires: Thu, 01 Dec 1994 16:00:00 GMT\n\n"; print <<EOT; <html> <head> <title>CGI</title> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Fri, 31 Dec 2004 23:59:59 GMT"> </head> <body> <a href="test.cgi">sample</a> </body> </html> EOT exit;

    • ベストアンサー
    • Perl
  • headerのマニュアルを見ると

    <?php // 日付が過去 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 常に修正されている header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // HTTP/1.1 header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.0 header("Pragma: no-cache"); ?> という記述がありますが http1.0とhttp1.0の両方の記述をしなければならないのでしょうか? またPHPページの記述にはすべてこのヘッダをつけるべきなのでしょうか?

    • ベストアンサー
    • PHP
  • サーバーのキャッシュを有効にしたい。

    サーバーのキャッシュを有効にしたい。 KAGOYAのサーバーで、 KENT WEBのClipMailを利用しフォームを設置しております。 ページ遷移時にフォームの入力内容が保持されず、 原因を探っていたら、Cache-Controlでno-cacheになっていることが原因だと分かりました。 .htaccessでキャッシュを有効にするにはどうすればいいのでしょうか? ちなみに、他社サーバーでは入力内容は保持されています。 ▼取得したHTTPヘッダー ------------------------------ HTTP/1.1 200 OK Date: Thu, 29 Jul 2010 15:02:38 GMT Server: Apache/1.3.41 (Unix) PHP/5.2.13 mod_ssl/2.8.31 OpenSSL/0.9.7l X-Powered-By: PHP/5.2.13 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Proxy-Connection: close Connection: close

  • 動画配信サイトで動画を閲覧するとキャッシュが残りますよね?(サイトによ

    動画配信サイトで動画を閲覧するとキャッシュが残りますよね?(サイトによっては) キャッシュってブラウザやOSの仕様だそうですが、キャッシュが残らないように配信ってできないのでしょうか? <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT"> こういうようなタグ(?)を付ければ完全ではないにしろ抑制できますよね? これができれば、プログレッシブダウンロードの仕組みで専用サーバを使うストリーミング配信のようなことが出来るのでは?? 何をとんちんかんなことをいってるんだと思われるかもしれませんが・・・回答よろしくお願いします。

  • excelファイルのダウンロード

    サーバーに配置してある、excelファイルをダウンロードさせ、 ダウンロードしたファイルを開こうとすると 「開こうとしているファイル 'xxxxxxxx' の形式は、ファイル拡張子が示す形式と異なります。 このファイルを開く前に、ファイルが破損していないこと、信頼できる発行元からのファイルであることを確認してください。 ファイルを今する開きますか? 」 というポップアップが表示され、「はい」をクリックして表示すると文字化けしています。 ソースは以下のように書いています。 どこが問題なのか、教えていただければと思います。 よろしくお願いします。 $file = excelファイルのフルパス header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=sample.xls'); header('Content-Transfer-Encoding: binary'); header('Content-Length:' . filesize($file)); header('Pragma: no-cache'); header('Cache-Control: no-cache'); readfile($file);

    • ベストアンサー
    • PHP
  • キャッシュ問題

    php,mysqlを使用した動的サイトなのですがdbの内容を更新してページでリロードしても情報が全く変わりません。 おおまかな流れではありますがアクセスの度にdbに接続しselectでデータを取得しています。 ブラウザから一時保存ファイルを消去してリロードしてやっとdbの内容が反映される状況です。 原因は明らかにキャッシュかと思うのですがどうすれば回避することはできますか? htmlには以下のタグを入れているのですが全く効果はないようです・・・ <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" /> <meta http-equiv="Expires" content="0" /> htmlの問題かphpの問題か微妙なラインなのですが回避方法としてアドバイス頂けますと幸いです。

    • 締切済み
    • PHP
  • 3日に1回リロードさせたい

    ページの情報を更新したときに、ブラウザのキャッシュの影響でページが更新されないことがあります。 cssが読み込まれていなかったり、htmlの変更が反映されていなかったり、 そのときはF5でリロードさせることで更新を反映させています。 ユーザーが自分でリロードを実行することなく、 自動的に更新させる方法を探しました。 <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="-1"> この方法だとキャッシュを削除することができ、 複数のブラウザにも対応できるそうですが、 キャッシュを毎回削除してしまうと ページを開く度に重くなってしまいます。 3日に1回、更新させる、ということはできませんか? <meta http-equiv="expires" content="Sat, 15 Nov 2012 12:00:00 GMT"> を <meta http-equiv="expires" content="Sat, 18 Nov 2012 12:00:00 GMT"> <meta http-equiv="expires" content="Sat, 21 Nov 2012 12:00:00 GMT"> のように3日ごとに更新するしかないのでしょうか。

  • ブラウザのページキャッシュ機能を抑制したい。

    いつもお世話になっております。 PHP5.2.5 Firefox3.5.2 ブラウザのページキャッシュをPHPスクリプトにて抑制したいのですが、 PHPマニュアルに書かれていた方法ではダメでした。 その方法は以下の通り。 ---------------- <?php // 日付が過去 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 常に修正されている header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // HTTP/1.1 header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); // HTTP/1.0 header("Pragma: no-cache"); ?> -------------------------- これではダメでしたので、 毎回、Firefoxの 「ツール」→「オプション」→「ネットワーク(タブ)」 →「今すぐ消去(ボタン)」 という方法で、キャッシュされてしまっているデータを消去して、 最新の状態(変更が反映されたかどうか)を確認しています。 毎回、キャッシュをブラウザ側で消すのは面倒なので、 できれば、PHPスクリプト側で、キャッシュを無効とするような設定に したいと思っています。 PHPマニュアルの方法では無理だったのは、 私の使用しているブラウザに原因があると考えられますでしょうか? ページキャッシュ抑制を、 できればファイル単位で行いたいと考えています。 どなたかアドバイスをお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう