• ベストアンサー

download.phpは何故あるのか?

ファイルをダウンロードするときに、www.hoge.jp/services/download.php?file=hoge.zip などのURLが書いてあることがありますが、一体なんのためにdownload.phpを使っているのでしょうか? www.hoge.jp/services/file/hoge.zipではいけないのでしょうか?

noname#226138
noname#226138
  • PHP
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

・ダウンロード数をカウントしている。 ・Webから直接アクセスできないところにファイルを置いてある。 ・ファイルチェックをしている。

noname#226138
質問者

お礼

なるほど! 回答ありがとうございました

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

複数ある中から適切なダウンロードサイトにリダイレクトするということをやっているのかと。

関連するQ&A

  • HTTP/Download/Archive.php が動作していない?

    HTTP/Download/Archive.phpを利用して,Zip圧縮を行おう思っています。 サイトで,HTTP_Download_Archive::send()の参考スクリプトみつけ,試しにやってみたのですが,ファイルは読みに行っているようですが,ZIPファイルが作成されません。 どなたか,HTTP_Download_Archive::send()の使い方を教えて下さい。

    • 締切済み
    • PHP
  • PHPの携帯サイトの

    PHPの携帯サイトの http//hoge.ne.jp/img/1 で画像を公開しようとしています。 このURLにリンクした際はPHPの処理で特定のユーザー以外は見れないようにします。 しかし、画像ファイルが実際においてある http//hoge.ne.jp/file/img/hoge.jpg にアクセスされた場合はすべてのユーザに見られてしまいます。 これを防ぐ方法はなにか無いでしょうか?

    • 締切済み
    • PHP
  • PHPで動的に生成されるCSVをサーバーに保存

    業務処理を自動化するためにPHPで動的に生成されるCSVファイルを、WEBサーバーに保存したいと思っています。 wgetコマンドを使って保存しようと思っていますが、リンクにGETパラメータ?(http://hogehoge.com/hoge.php?hoge=1&hoge=2)が設定されているためかcsvが生成さずPHPページ(hoge.php)が保存されてしまいます。 実行したwgetコマンド /usr/local/bin/wget /home/useraccount/www/hoghog/hog.csv 'http://hogehoge.com/hoge.php?hoge=1&hoge=2' -O - また、phpファイルを生成し、 <?php $file = 'http://hogehoge.com/hoge.php?hoge=1&hoge=2'; $newfile = 'test.csv'; if (!copy($file, $newfile)) { echo "failed to copy $file...\n"; } ?> と上記のようにやっても同じ結果でした。 ブラウザ上のURLバーでhttp://hogehoge.com/hoge.php?hoge=1&hoge=2とするとCSVファイルの保存画面が出てくるページなのですが、何か良い方法はありませんでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Apache 2.4.0でphp5.3を使うには?

    Apacheをインストールし、ApacheからPHPを使える状態にしたいです。 Apacheのインストールは、 http://www.apachelounge.com/download/から Apache 2.4.0 httpd-2.4.0-win32.zip をダウンロードし、c:/pg/にApache24という名前のフォルダで配置しました。 ドキュメントルートのhtmlファイルをブラウザで表示できるところまでできています。 PHPのインストールは http://windows.php.net/download/から PHP 5.3 (5.3.9) Zip [14.94MB] sha1: 4149d79a877ae7ccb0e5419b13152b5bd3074825 php-5.3.9-nts-Win32-VC9-x86.zipをダウンロードし デスクトップにphpというフォルダを作成し、その中に全て展開しました。 展開されたphpフォルダをc:/pg/Apache24に配置しました。c:/pg/Apache24/php PHP利用のための設定 モジュールの追加 http://www.adminweb.jp/apache/php/index1.html を参考にするとApacheでphpを利用するためには、 Apache2.2系を使う場合は、"httpd.conf"ファイルの中の "Dynamic Shared Object (DSO) Support"ブロックの一番最後に 次の行を追加すればよいという説明があります。 LoadModule php5_module c:/php/php5apache2_2.dll Apache2.4系を使う場合はどのようにしたら良いのでしょうか。 展開したphpフォルダの中にphp5apacheで始まるdllファイルが存在しません。 php5apacheで始まるdllファイルを自分で用意して配置しないといけないのでしょうか。

  • PHPでのWaning

    PHPでのWaning PHPファイルにてメッセージ抑止をしたいのですが、どのようにすれば良いのでしょうか? 「ディレクトリトラバーサル」脆弱性とのご指摘を頂いております。 http://xxxx.com/sys/dl.php?file=01(正常なURL) http://xxxx.com/sys/dl.php?file=00(ディレクトリ内に無いURL) 上記のように​http://xxxx.com/sys/dl.php?file=00と言うページが無く (あったとしても見られても問題ない) http://xxxx.com/sys/dl.php?file=01以外のアドレス(?file=)以降、ユーザーがURLの打ち間違えをしたら Waning: file(~):failed to open stream:No such file or directory in....................../utl.php on line 139 が出ます。 上記「Waning」では無く、他のメッセージ(表示URLは変えずにhtmlで出力)を出したいのです。 utl.phpの139行目は $utl = new Utl(); $template = $utl->readTemplate($template_file); $template_file テンプレートファイルへのパス 返り値 $template テンプレートファイル(SJIS) */ function readTemplate($template_file){ (139行目)foreach(file($template_file) as $v){ $template .= $v; } $template = mb_convert_encoding($template, "EUC-JP", "auto"); return $template; } /* どうぞ、よろしくお願い致します。

    • 締切済み
    • PHP
  • PHPで複数ファイルをZIPで圧縮してダウンロードさせる処理を作りまし

    PHPで複数ファイルをZIPで圧縮してダウンロードさせる処理を作りました。 色々とテストしてみると、ダウンロードして解凍しようとすると「未知の形式」となり解凍できない場合があります。 ファイル数の問題かと思いサイズが小さいファイルを5つ圧縮してダウンロードしてみると正常に解凍できました。 サイズが大きいファイルを4つ圧縮してダウンロードしてみると「未知の形式」になることがわかりました。 何かサーバー側で制限をかけているのでしょうか? サーバーはApache2.2をローカルで使用しています。「zip.lib.php」を使用してプログラムを書きました。 ソースは以下のサイトのものをそのままコピーしました。 http://www.confrage.com/php/forward/download_comp/download_comp.html#list2

    • ベストアンサー
    • PHP
  • PHPでファイルのダウンロードについて

    お世話になります。ダウンロードボタンを付けてファイルのダウンロードを行う処理で困った事になってます。 (DL.php) $file_name=htmlspecialchars(@$_POST['file_name']); $file_name=addslashes($file_name); mb_convert_variables("SJIS-WIN","EUC-JP",$file_name); $file_to=htmlspecialchars(@$_POST['file_to']); $file_to=addslashes(@$_POST['file_to']); header ("Content-Disposition: attachment; filename=".$file_name); header ("Content-type: application/octet-stream"); require_once("dl_config.php"); readfile ($data_pas.$file_to); dl_config.php <?PHP $data_pas="/data/"; ?> この状態でテキストファイルをダウンロードすると、DLしたファイルの中に不要な改行ファイルが挿入されています。 またrequire_once("dl_config.php");を削除し readfile ($data_pas.$file_to);を readfile ("/data/".$file_to);とすると、改行は入らなくて、正常なファイルがダウンロードされます。 よろしくお願いします。

    • 締切済み
    • PHP
  • PHP ZIP 展開できない

    PHPで作成したZipファイルが展開できません ダブルクリックで展開すると無効ですと表示されます。 よろしくお願いします。 define("file_zone","C:/MAMP/htdocs/upload/test/"); if(isset($_POST["download"])){ $path = file_zone; $files = scandir($path); $zip = new ZipArchive($files); // Zipファイル名 $zipFileName = "file_" . date("Ymds") .'.zip'; // Zipファイル一時保存ディレクトリ $zipTmpDir = file_zone; // Zipファイルオープン $result = $zip->open($zipTmpDir.$zipFileName, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE); if ($result !== true) { // 失敗した時の処理 } // 処理制限時間を外す set_time_limit(0); foreach ($files as $filepath) { $filename = basename($filepath); // 取得ファイルをZipに追加していく $zip->addFromString($filename,file_get_contents($filepath)); } $zip->close(); // ストリームに出力 header('Content-Type: application/zip; name="' . $zipFileName . '"'); header('Content-Disposition: attachment; filename="' . $zipFileName . '"'); header('Content-Length: '.filesize($zipTmpDir.$zipFileName)); echo file_get_contents($zipTmpDir.$zipFileName); // 一時ファイルを削除しておく // unlink($zipTmpDir.$zipFileName); }

    • ベストアンサー
    • PHP
  • クラスを使ったphpファイル間のデータの受渡し

    質問させていただきます。 クラスを使ったphpファイル間のデータの受渡しはできるのでしょうか。 (MVCの様なもの?) データのが多いのでhtml のrequestだと時間がかかるためです。 file_a.php :class.phpを呼び出して、ファイル中のクラスclass_hogeに値を格納 file_b.php :class.phpを呼び出して、file_a.phpで格納した値をclass_hogeから取り出す。 フレームワーク等は、使用しておりません。 ご助言お願いいたします。 失礼します。

    • ベストアンサー
    • PHP
  • PHP ダウンロードサイトの直リンク

    お世話になります。 技術的な質問といいますか、疑問なのですが、ぜひ皆様のご意見を伺わせてください。 現在、phpを用いてzipのダウンロードページを作成しております。 本サイトは簡単な会員制のため、必要事項を入力してもらった上でダウンロードができる仕組みです。 まず、ファイル構成は、 1、top.html 2、check.php 3、download.php となっております。 topにはformで、入力した内容をcheck.phpに渡す処理が書かれております。 check.phpには、入力された内容を確認し、場合によってはhtml画面に戻ったりします。 download.phpは、aタグでダウンロードリンクが書かれており、クリックをすると保存ダイアログが開きます。 この一連の流れはすでに完成しているのですが、問題となっているのが直接download.phpのリンクを知っている人がいたとして、urlに直書きしてしまうとアクセスできてしまうということです。 なので、.htaccessを使って制限する方法か、またはdownload.phpで渡ってきた$_POSTの中身が空白ならばエラー処理 というような流れを作ったほうがいいのでしょうか。 ※ちなみに$_POSTで渡ってくるものは全て何かしら入力されており空白は許していません。 .htaccessも正直、どのように書いたらいいのかよくわかりません・・・ もし、他にいい方法がありましたらぜひ教えてください。 よろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう