php
1$strDir = opendir($rootPath); 2while ($strFile = readdir($strDir)) { 3 if ($strFile != '.' && $strFile != '..') { 4 unlink($rootPath . '/' . $strFile); 5 } 6} 7rmdir($rootPath);
上記のコードで、フォルダの中のファイルを削除したあとで
ディレクトリを消そうとすると Text file busy というエラーが出ます。
rmdir($rootPath); 単体なら、空になったディレクトリは消せるのですが、
while を使った処理のあとではエラーとなります。
処理の後、ファイルにアクセスしている何らかの処理が開放されていないのではと思いますが、
対応策が分かりません。
環境は vagrant, CentOS7, PHP7.3 です。
ご教示、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー