- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:unlink が余計に働いてエラーメッセージ)
unlinkが余計に働いてエラーメッセージ
このQ&Aのポイント
- PHPを学んでいる中で、unlink関数が余計に働いてエラーメッセージが表示される問題が発生しました。
- ファイルディレクトリ内のファイルを削除するために使用しているunlink関数が、ピリオドというファイル名だけのファイルに対しても働いてしまい、エラーが発生しています。
- このエラーを回避するためには、unlink関数がピリオドというファイル名だけのファイルに対して働かないようにする方法が必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「.」はカレントディレクトを指し、「..」は親ディレクトリを指します。 readdirのマニュアルを見れば、これらを除外して処理するサンプルが見つかります。 http://php.net/manual/ja/function.readdir.php
その他の回答 (1)
- miya_777
- ベストアンサー率31% (44/140)
回答No.2
「.」は自分自身のディレクトリ 「..」は親のディレクトリ を指します。 これは(殆ど全ての)OSにおける標準的な仕様です。 PRE_IMAGE_DIR が images/upload なら 「.」→(images/upload) 「..」→(images) file_existsは、ファイルorディレクトリでtrueを返却しますので、 単純にファイルのみを消すのでしたら、file_exists関数をis_file関数に置き換えればOKだと思いますよ。
質問者
お礼
ご回答ありがとうございました。 >単純にファイルのみを消すのでしたら、file_exists関数をis_file関数に置き換えればOKだと思います こちらの方法も確認させていただき、解決できることを確認しました。 それぞれの関数の役割を勉強してみます。 すみませんが、ベストアンサーについては、先着順でつけさせてください。
お礼
ご回答ありがとうございました。 ご指摘のページを確認いたしました。 unlinkではマニュアルを見たのですが、readdirに書いてあったのですね。 ページに記載の方法で解決することができました。