2011-09-10 11 views
1

これはphp、txt、および画像を削除するのに最適ですが、最近私はごみ箱フォルダに一時画像を挿入する画像のサイズ変更を使用しています。PHP - ファイル拡張子を持たないファイルのリンクを解除するには

*例名2616cf442b6cd3e1313161551fad6078 *

ファイルの種類:テキスト/ X-ジェネリック

権限:0644

*運

$cleantrash =(DOCROOT."/woobe/myfiles/trash/"); 
$cleantrash = opendir($cleantrash); 

while (($filex_clean = readdir($cleantrash)) !== false) { 
if($filex_clean != "." && $filex_clean != ".." && $filex_clean != "index.php") { 


     echo "<b>Cleaing Trash...</b> $filex_clean<br>"; 
     unlink($filex_clean); 
     } 
} 
closedir($cleantrash); 

で.txtに名前を変更しようとしましたEDIT *

$newname = basename($filename, ".bmp").".jpg"; 
rename($filename, $newname); 

ファイルが削除されました。リンクが使用されていませんか?どこに行くの?

+0

:私の推測では、あなたが$ cleantrashパスを保存する必要はなく、opendir関数()からのリソースでそれを上書きして、のような何かを行うことをでしょうか?また、あなたのPHPが実行されているのと同じユーザが所有していますか? –

+0

ファイルのパーミッションは0644です。 – MHowey

+0

ファイル名を変更して削除するのはなぜですか? unlinkは任意のファイル名で動作しますが、パスを使用する必要があります。または、現在の作業ディレクトリをファイルと同じディレクトリに設定する必要があります。 – gview

答えて

2

readdir()関数は、パスを使用しないファイル名(それを渡すリソースディレクトリパラメータに相対)を返します。

unlink()関数は完全なファイルパスを要求します。そのファイルのパーミッションは何

unlink($cleantrash . $filex_clean); 
+0

と言ったように、拡張子のないファイルを除いてすべてが削除されるので、パスの問題ではありません – MHowey

関連する問題