• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP 削除やコピーが出来ない)

PHP削除やコピーができない?解決方法を教えてください!

このQ&Aのポイント
  • 削除やコピーができないPHPファイルについて、対処方法を教えてください。
  • unlinkやrmコマンドを使っても削除できず、copyやcpコマンドも正常に動作しない場合の対策をお願いします。
  • パーミッションやレンタルサーバーの変更を試しましたが、エラーも表示されず解決策が見つかりません。どうすればよいでしょうか?

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

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

おそらくディレクトリのパーミッションの問題でしょう。 ディレクトリのパーミッションが755あたりになってませんか? まず第一に、ファイルを削除したりコピーしたりするためには、そのファイルのパーミッションではなく、そのファイルがあるディレクトリのパーミッションが問題になります。 たとえファイルそのものに対しては読み書きする権限があっても、書き込み権限のないディレクトリにあるファイルを消すことが出来ません。 次に、たいていのWWWサーバは、「ユーザーWWW」など、利用者とは別の権限で動いています。 そのためディレクトリのパーミッションが「755」だったりした場合は、WWWサーバ上で動かすPHPスクリプトからは、そのディレクトリ上のファイルを消したり、新たなファイルを作ったりすることはできません。 ファイルの削除等を行いたい場合は、対象ディレクトリのパーミッションを777あたりにする必要があります。

xcode_15
質問者

お礼

お礼が遅くなり、済みません。 動作確認をしてみた所、上手く行きました。 タダ、サーバーによっては、対象ディレクトリのパーミッションを777にすると OKに成る物もあれば、OGに成る物もありました。 こればっかりは、サーバーに合わせ込まないと行けないようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Linux ファイルの削除

    マウスでデスクトップにあるファイルを削除すると、ターミナルからデスクトップを見た時に削除したはずのファイルが表示される事が分かりました。 完全に削除できていないのでしょうか、それともバグか何かでしょうか。 rmコマンドを使えばしっかりと削除できます。 こんな感じです。 Desktop/test.txt デスクトップにあるtest.txtを削除する。(マウスでゴミ箱へ) ls Desktop test.txt 削除したはずのtest.txtが存在している。(X11には表示されていない、あくまでターミナル上) しっかりと削除するにはrmコマンドしかないという事ですか? ご教示お願いします。

  • phpでファイルが削除できない

    こんにちは。 ファイル名の書かれたdir.txtを開いて、その中から1日以上経過したファイルを削除するtime.phpを作成しようと思っています。 実行してみると、24時間経過したファイルがあっても 「Warning: unlink() [function.unlink]: Permission denied in C:\Program Files\xampp\htdocs\test\time.php on line 33」 というエラーがでて削除できない 実行結果にprintするように指定していない$imaの数値「1128673152」が表示される。 のですが、どこに間違いがあるのでしょうか? time.phpの内容 ---------------------------------------------------------------------- <html> <body> <?php // ファイルを読み込み専用でオープンする $fp = fopen('dir.txt', 'r'); // 終端に達するまでループ while (!feof($fp)) { // ファイルから一行読み込む $line = fgets($fp); $line = rtrim($line); // ファイルの更新時間を調べる $kousin = filemtime("$line"); // 今の時刻 $ima = time(); // 経過時間を計算する $keika = $ima - $kousin; // 出力する print $line; print "<br>\n"; print $ima; print "<br>\n"; print $kousin; print "<br>\n"; print $keika; print "<br>\n"; clearstatcache(); if ( $keika > 86400 ) { unlink( "$file" ); } } // ファイルをクローズする fclose($fp); ?> </body> </html> ----------------------------------------------------------------------

    • ベストアンサー
    • PHP
  • 親ディレクトリの更新日付を更新せずにファイルを削除するには

    親ディレクトリの更新日付を更新せずにファイルを削除するには 例えば、以下のディレクトリ構成で「aaa.txt」を削除しても親ディレクトリである「AAA」の更新日付が変更されない方法はありますでしょうか? なお、実装はRHEL5上でのBashスクリプトになります。 /home/hoge/AAA/ => 2010/10/01 06:30:00 /home/hoge/AAA/aaa.txt => 2010/10/01 06:30:00 2010/10/03 12:30:00に以下のコマンドを発行 rm /home/hoge/AAA/aaa.txt /home/hoge/AAA/ => 2010/10/03 12:30:00 に更新されてしまいます。 => 2010/10/01 06:30:00 を保持していたいのです。 できればコマンドのみで解決したいと思っています。 コマンド単体で無理なら、rmで削除する前にディレクトリ情報を一時ファイルへ書き出すしかないと思っています。 以上、よろしくお願いします。

  • 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
  • 古いファイルを削除したいのですが。。。

    こんにちわ。 findコマンドを使って、あるディレクトリにどんどんできるファイルの古くなったものを削除したいのです。 例えば、7日以上更新がないものを削除したく、 # find /hoge/backup -mtime +7 -a -type f -exec rm -f {} \; というコマンドを実行してみましたが、結果は、削除されず残ったままで、しかも一部のファイルが元々古い日付だったものが、実行日時でタイムスタンプが書き変わってしまってます。 シェルはbashでもcshで試しても同じでした。 どうすればよいかご教示お願いできますでしょうか?

  • ファイルの削除について

    あるフォルダ内の ファイルを削除するのに (1)unlinkを使用する (2)1つのファイルであれば unlink<abc.txt>でいい (3)テキストファイルを全部消すのであれば unlink<*.txt>でいい というところまでは わかっています ですが たとえば フォルダ内に abc1011.txt abc1012.txt abd1011.txt abd1012.txt abe1011.txt abe1012.txt abf1011.txt abf1012.txt のような ファイルがあり 1012を含むものだけ削除したい という場合はどのようにすればいいのでしょうか

    • ベストアンサー
    • Perl
  • ファイルの削除について ( unlink )

    perl プログラミング 2日目の初心者です。 以下のようなスクリプトを書いて test.cgi とかで $del_count = unlink glob("msg-*.txt"); 保存し、ブラウザーでアクセスすると、ちゃんと ファイルが削除されるのですが、 シェル上で実行すると、以下のようなメッセージ glob failed (child exited with status 1) at test.cgi line 5. とか出て削除ができないのです。 パーミッションも 755 とかで試したのですが、 どうしてなのでしょうか・・・うんうん煮詰まって います。

    • ベストアンサー
    • CGI
  • ファイルを検索して削除する

    /www 以下のディレクトリーに aaa.txt というファイルが存在する場合、 そのファイルが存在するディレクトリー内の全ての ***.txt を削除したいです。 find /www -name aaa.txt | xargs rm だと、aaa.txt だけの削除になります。 以下も考えましたが、これだと検索対象ディレクトリーが /www だけになります。 #!/bin/bash if test -e /www/aaa.txt then rm -f /www/*.txt fi どのように記述するとよいでしょうか。

  • MS-DOSでのファイル/フォルダ一括削除

    以下のようなフォルダ、ファイルがあるとし、LOGDIR下にある「200803」の文字列を 含まないファイル及びフォルダをDOSコマンド(Win2003)で削除(できれば一括で) する方法を模索しています。 Cドライブ   |   |   +LOGDIR      |      +---LOG20080228_084539    <--- 削除対象ディレクトリ      |     |      |     +-------log1.txt      |     |      |     +-------log2.txt      +---LOG20080229_101553    <--- 削除対象ディレクトリ      |     |      |     +-------log1.txt      |     |      |     +-------log2.txt      +---LOG20080301_132059    <--- 削除対象ディレクトリでない      |     |      |     +-------log1.txt      |     |      |     +-------log2.txt      +---LOG20080302_185945    <--- 削除対象ディレクトリでない      |     |      |     +-------log1.txt      |     |      |     +-------log2.txt      |      |-----test20080229_085523.txt    <--- 削除対象ファイル      |      |-----test20080229_092310.txt    <--- 削除対象ファイル      |      |-----test20080301_153859.txt    <--- 削除対象ファイルでない      | 方法をご存知の方、いらっしゃいませんか?

  • 重複データを削除して上書きする

    data.datファイルには hoge@hoge.com, hoge1@hoge.com, hoge2@hoge.com, hoge3@hoge.com, hoge4@hoge.com, hoge5@hoge.com, hoge6@hoge.com, hoge7@hoge.com, hoge8@hoge.com, hoge9@hoge.com, hoge@hoge.com, hoge1@hoge.com, hoge2@hoge.com, hoge3@hoge.com, hoge10@hoge.com PHPファイルは↓です。 <?php //ファイルの内容を配列に格納 $lines = file( 'data.dat' ); //重複ファイル削除 $array = array_unique($lines); //配列の全要素に対して処理を行う foreach( $array as $line ){ print "$line<br>\n"; } ?> 重複したファイルを削除して表示することはできましたが、新しいデータをdata.datファイルに書き込む場合はどうしたらよいでしょうか? 重複ファイルだけdata.datファイルから削除して、削除された行を詰めて上書きしたほうがよいのでしょうか? 他に、いい方法があればアドバイス下さい。

    • 締切済み
    • PHP
何の虫、蟻?でしょうか?
このQ&Aのポイント
  • 3日前から連日、庭や庭の壁に見たことがない虫を発見しました。サイズは2cmくらいです。1匹は家の中で死んでました。
  • 気持ちが悪く気になって仕方がないです。どなたか何の虫か教えて下さい。
  • 虫の特徴や行動については詳しく記載していないので、正確な判定は難しいですが、専門家に相談することをおすすめします。
回答を見る

専門家に質問してみよう