2日徹夜していろいろやってみましたがどうにもなりません。
どなたか助けてください!
ディレクトリAの中にimageという名前のディレクトリがあります。
imageディレクトリには100前後のjpg画像があります。
ディレクトリAにおいてあるreset.phpで、imageディレクトリ内のフォルダを全部削除するにはどうしたらよいでしょうか。
以下、いろいろ試したソースですが、これだとエラーが出てしまいます。
よろしくおねがいします!
$res_dir = opendir( './image' );
while( $file_name = readdir( $res_dir ) ){
unlink($file_name);
}
No.1ベストアンサー
- 回答日時:
readdir()の戻り値 $file_name を全て見てみるとわかると思いますが、カレントディレクトリを表す "." と 親ディレクトリを表す ".."
も返ってきています。unlink() ではディレクトリを削除することはできません。
よって、is_file()関数でファイルかどうか判定して、ファイルならば unlink() すればよいです。
image ディレクトリ内にファイルしか存在しないのであれば、
$path = './image';
$res_dir = opendir( $path );
while( $file_name = readdir( $res_dir ) ){
echo $file_name."\n";
if(is_file($path.'/'.$file_name))
unlink($path.'/'.$file_name);
}
でOKです。
./image ディレクトリ内にさらにサブディレクトリがある場合は、もう少し複雑になります。
以下のサイトに例があります。
http://php.morva.net/manual/ja/function.rmdir.php
ありがとうございました!
./imageにはファイルしか存在しないため、
ご提示いただいたソースを元にして組み込んだところ、成功しました。
やっと寝られます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
-
/usr/local/lib/phpとはどうい...
-
FTPコマンドでディレクトリごと...
-
ファイルの更新日時でのソート
-
Subversionのリポジトリの削除
-
exec()で他ディレクトリのexeプ...
-
ファイルアップロードに関して...
-
$_SERVER["HTTP_HOST"]と、$_SE...
-
makefile でファイルをコピーす...
-
includeが出来ない訳とは?
-
上位ディレクトリ名(フォルダ...
-
rmdirでフォルダが消せません
-
Subversionで、ファイルをリネ...
-
visualstudioでc#のdllができない
-
SHGetSpecialFolderLocation
-
glob関数で日本語文字が取得で...
-
VB.NET 最下位のディレクトリ名...
-
URLに特定の文字を含む場合の条...
-
PHPのプログラムの保存場所
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
現在位置より2つ上のディレク...
-
Subversionのリポジトリの削除
-
fopenでファイルが開かない場合...
-
makefile でファイルをコピーす...
-
VB.NET 最下位のディレクトリ名...
-
rmdirでフォルダが消せません
-
visualstudioでc#のdllができない
-
ファイルアップロードに関して...
-
絶対パス?絶対アドレス?意味...
-
MkDir関数
-
拡張子を隠すのは良い事なので...
-
Subversionで、ファイルをリネ...
-
powershell で書いたプログラム...
-
コマンドプロンプトを指定のデ...
-
ファイル選択ダイアログで選択...
-
aspのページが表示できません
-
JAVA内で複数のファイルを削除...
おすすめ情報