• ベストアンサー

HTTPダウンロード後に自動削除

サーバーに置いたファイルをHTTPダウンロードした後に、自動的にサーバーのファイルを削除することは可能でしょうか。 サーバーの容量節約のためにPHPで実現できないか悩んでいます。 宜しくお願い致します。

  • wanna
  • お礼率64% (35/54)
  • PHP
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

パーミッションさえ許せば readfile()したあとにunlink()すればよいでしょう。 ただし、ダウンロードが完了したかどうか などはサーバー側では判断できないため ダウンロード中に途中でキャンセルしたり 回線状態でダウンロードが失敗したとしても ファイルが消されてしまいます。 できれば、ダウンロード後に、なんらかのトリガー を任意に選ばせて削除する方が安心です。 http://www.php.net/manual/ja/function.readfile.php http://www.php.net/manual/ja/function.unlink.php

関連するQ&A

  • HTTPでダウンロードさせるには

    ファイルを特定の相手にダウンロードさせる方法としてFTPが有りますが、HTTP(インターネットブラウザー)を使って特定のアドレスにアクセスすると自動的にダウンロードを開始させるという方法を教えて下さい。

  • HTTPでダウンロード

    一部のファイアウォールや、プロキシサーバー、ISDN/ブロードバンドルータでダウンロードボタンからのダウンロードが失敗するので、「HTTPでダウンロード」ができるらしいですけど、具体的なやり方をおしえてください。

  • HTTP接続

    HTTPでサーバー上のファイルをダウンロードする アプリを作成中です。 HTTP接続でサーバー上のターゲットファイル名や、ファイルサイズ等を 取得したいのですが、ネット上しらべたりしたのですが、 FTP接続では同等の機能を実装したサンプルなどがあるのですが、 HTTP接続においては見当たりません。私の調べ方が悪いのかもしれませんが、 そもそも、HTTP接続において希望の処理ができるのかどうか ご教授していただけないでしょうか? ネットワークに疎いですが、早急に実装しないといけなくて 困っております。 よろしくお願いします。 VC++6.0 MFC です。

  • phpでzipファイルダウンロード後の削除について

    phpでzipファイルダウンロード後の削除について phpにおいて、ボタンをクリックしたときに、サーバ内の ディレクトリの中身をzip圧縮してダウンロードを行う処理を 作成し、ダウンロード後はサーバ内のzipファイルを 削除したいと考え、下記のような流れでプログラムを作成しました。 //1.zipファイルの作成 shell_exec("zip -r file.zip targetdir"); //2.HTMLヘッダ Content-type ・・・ //3.readfileでファイル読み込み readfile(file.zip); //4.ファイル削除 shell_exec("rm -f file.zip"); 3.までは上手く動作して、意図したzipファイルを ダウンロードできるのですが、 4.の動作が、3.でのダウンロードダイアログで ・「保存」してダウンロードすると動作して削除する。 ・「キャンセル」してダウンロードせずダイアログを 閉じると削除されずサーバに残ってしまう。 となってしまいます。 ちなみに一旦「保存」を選択して、ダウンロード途中に 「キャンセル」を選択して中断しても削除されませんでした。 ダウンロードダイアログでの操作に関わらず作成した zipファイルを削除したいのですが、どのようにすればいいか わかりません。 shell_exec関数をunlinkなどに変えて見ても結果は同じでした。 アドバイスを頂ければと思い質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • HTTPとFTPの違い

    vectorなどのソフトをダウンロードするときHTTPダウンロードとFTPダウンロードを選んでダウンロードしますが、 HTTPダウンロードの場合はHTTPプロトコルでwwwサーバとやりとりをして、その後wwwサーバがデータベースサーバに問い合わせをして、目的のデータをwwwサーバーに返しクライアントに80番ポートで転送するのでしょうか? またFTPダウンロードの場合はFTPプロトコルでanonymous認証してからFTPサーバとやりとりをして、その後FTPサーバがデータベースサーバに問い合わせをして目的のデータをwwwサーバに返しクライアントに20番ポートでデータを転送してるのでしょうか? ちょっとわからなくなったので、間違えていたら教えて下さい。 よろしくお願いします。

  • 自動的にダウンロードするファイルの作り方

    初歩的な質問かも知れません。すいません。 よく、URLを選ぶと自動的にファイルのダウンロードが始まるのがありますよね。 実は圧縮ファイルをHPサーバーにアップして自動的にダウンロードできるようにしたいのですが、やり方がわかりません。単にファイルをアップするだけだとURLを指示しても認識してくれません。 自動的にダウンロードができるように、ファイルをアップするにはどうすればいいのか教えてください。 すいません。お願いします。

  • 削除出来ない自動起動するファイルを削除したい

    パソコンを起動すると Not Found The requested URL /regist2.php was not found on this server.、、この様な書き込みのあるファイルが自動起動的に出てきます、 このファイルはどのようにして削除したらいいのですか、 元は有料サイトの登録した、、という内容でした。クリックしただけで登録しましたと言う画面が出て来ました 経歴、クッキーを削除してからは上記内容のファイルが出てきます、 このファイルはどうしたら自動起動しないように出来ますか、削除の方法を教えて下さい。

  • ダウンロードでhttpと、そうでない場合の違いは何?

    Vectorなどのフリーウェアソフトをダウンロードしようとすると、ダウンロードとhttpでのダウンロードと2種類ありますが、どう違うのでしょうか。 よろしくお願い致します。

  • HTTPを使っての更新

    こんにちは。 私は自宅サーバーを運営してるものですが、ちょっと質問したいことがあり書き込みました。 HPなどを更新するには大抵はFTPを使い認証を行ってファイルをUPしますが、InfoseekやYahooのようにHTTPとFTP両方から更新できるようにしたいのですが自宅サーバーではできるでしょうか? そのようなことができるスクリプトが配布されているサイトがありましたらぜひ教えてください。 一応私のサーバーではCGIとPHPが使えます。

  • HTTP_Downloadで接続数の制限

    HTTP_Downloadでsendして、そのセッションが終了(ダウンロード終了とかキャンセル等)を、phpソースの処理にハンドリングする方法はあるでしょうか? やりたいことは、HTTP_Downloadでクライアントに複数のファイルをダウンロードさせているのですが、1クライアントが同時に複数のファイルをダウンロードさせないようにしたいのですが。

    • ベストアンサー
    • PHP

専門家に質問してみよう