PHPスクリプトを介してサーバーにアップロードされたpng画像を削除しようとしています。ftpと端末の両方で削除しようとすると、エラーが発生します
No such file or directory
しかし、私ls
がディレクトリにいるとき、ファイルはリストされ、それは私のftpクライアントにもリストされています。同じ名前のファイルを作成しようとしましたが、同じ名前の2つのファイルが作成されました。
おそらく存在しないファイルを開くことはできますが、それでも削除することはできません。サーバーの再起動も試みました。何が問題なのでしょうか?Ubuntuの64ビットバージョンを実行していますが、32/64ビットの問題ではないと思います。また、同じPHPスクリプトによってアップロードされた他の多くのpngファイルを削除したことに注意してください。
の出力 ls -l
total 224
-rw-r--r-- 1 www-data www-data 222838 May 13 04:14 qyxdshyikfr_fishing_timeout.png
-rw-r--r-- 1 root root 272 May 14 06:54 upload.php
しようとしたときの出力 rm
rm: cannot remove ‘qyxdshyikfr_fishing_timeout.png’: No such file or directory
upload.php:http ://pastebin.com/z87eypTY
rm
コマンドを実行していますか?
unlink
コールは常に存在しないファイルを見つけることが失敗します。そのようなファイルがないことがわかっstrace
ているシステムでそのコマンドを実行すると、同様の出力が生成されます。私が示しているとは思わない私は、ファイルシステムの問題を抱えています!他の回答で示唆されているように、ファイル名の表示qyxdshyikfr_fishing_timeout.png
方法の制限により、ファイルの名前はわずかに異なるだけで同じように見える可能性がはるかに高いようls
です。
ls -l
ディレクトリからの出力、rm
コマンド全体およびその出力もコピーペーストします。