PHP 削除やコピーが出来ない
$rcd = unlink("test.txt");
$rcd = `rm test.txt`;
$rcd = exec('test.txt');
上記のように、削除コマンドを実行しても削除されない。
コピーコマンドも、同じくで
copy("hoge.txt", "hoge.dat");
fcopy("hoge.txt", "hoge.dat", TRUE);
`cp hoge.txt hoge.dat`
と、やってみたが削除対象ファイルなどに変化はありません。
ちなみに、削除対象ファイルのパーミッションは、644。
PHPファイルは、755.
レンタルサーバーを、二つほど変えてみたが同じでした。
エラーを表示することも無かったので、何が悪いのかさっぱり分かりません。
何か、よい方法を教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
おそらくディレクトリのパーミッションの問題でしょう。
ディレクトリのパーミッションが755あたりになってませんか?
まず第一に、ファイルを削除したりコピーしたりするためには、そのファイルのパーミッションではなく、そのファイルがあるディレクトリのパーミッションが問題になります。
たとえファイルそのものに対しては読み書きする権限があっても、書き込み権限のないディレクトリにあるファイルを消すことが出来ません。
次に、たいていのWWWサーバは、「ユーザーWWW」など、利用者とは別の権限で動いています。
そのためディレクトリのパーミッションが「755」だったりした場合は、WWWサーバ上で動かすPHPスクリプトからは、そのディレクトリ上のファイルを消したり、新たなファイルを作ったりすることはできません。
ファイルの削除等を行いたい場合は、対象ディレクトリのパーミッションを777あたりにする必要があります。
お礼が遅くなり、済みません。
動作確認をしてみた所、上手く行きました。
タダ、サーバーによっては、対象ディレクトリのパーミッションを777にすると
OKに成る物もあれば、OGに成る物もありました。
こればっかりは、サーバーに合わせ込まないと行けないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- Windows 10 windows10このPCをリセットするを選択し、すべて削除を選択した場合C以外のドライブも初期化? 2 2022/11/10 14:24
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Windows 10 renameコマンドでファイル名からアンダースコアを消す方法 5 2023/04/24 13:33
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
makefile でファイルをコピーす...
-
現在位置より2つ上のディレク...
-
FTPコマンドでディレクトリごと...
-
fopenでファイルが開かない場合...
-
FTPでのファイルとディレクトリ...
-
バッチを用いたフォルダの自動移動
-
URLの中の~の記号の意味は?
-
C# 特殊ディレクトリを変更した...
-
【BAT(バッチ)ファイル】Web...
-
ファイル選択ダイアログで選択...
-
PHP+PostgreSQLで画像処理につ...
-
ディレクトリ削除
-
MkDir関数
-
Visual C++ 2005 Express Editi...
-
Makefile.inとMakefile.am
-
EXEを起動するとDLLが見つから...
-
サーバーでのドメイン、サブド...
-
CakePHPのファイルの所有者の権...
-
aspのページが表示できません
-
PHPのif文でその処理を途中で抜...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
【BAT(バッチ)ファイル】Web...
-
現在位置より2つ上のディレク...
-
makefile でファイルをコピーす...
-
fopenでファイルが開かない場合...
-
MkDir関数
-
visualstudioでc#のdllができない
-
絶対パス?絶対アドレス?意味...
-
includeが出来ない訳とは?
-
DLL のロードの順序
-
VB.NET 最下位のディレクトリ名...
-
rmdirでフォルダが消せません
-
C言語でのディレクトリ作成につ...
-
ファイル選択ダイアログで選択...
-
aspのページが表示できません
-
ディレクトリの正規表現について
-
バッチファイルで特定ファイル...
おすすめ情報