最近、wwwディレクトリの外から100K以上のファイルを削除する必要があります。誰かが私に提案した以下のコードを使用しようとしています
foreach(glob('*.*') as $file) unlink($file);
しかし、public_htmlフォルダーからファイルを削除し、wwwディレクトリの外からファイルを削除したい
ありがとう
最近、wwwディレクトリの外から100K以上のファイルを削除する必要があります。誰かが私に提案した以下のコードを使用しようとしています
foreach(glob('*.*') as $file) unlink($file);
しかし、public_htmlフォルダーからファイルを削除し、wwwディレクトリの外からファイルを削除したい
ありがとう
ウェバルトは私に変わるように言った
foreach(glob('*.*') as $file) unlink($file);
に
foreach(glob('../*.*') as $file) unlink($file);
そしてその仕事は成功した
問題は、公開されているスクリプトがルート フォルダーにアクセスできるようにする理由だと思います。
コマンド ラインからこのスクリプトを使用していくつかのタスクを実行する場合は問題ありませんが、ルート フォルダー内のファイルを変更する public_html にスクリプトを使用しないことを強くお勧めします。
スクリプトにルート フォルダーへのアクセスを許可したい場合は、次のことができます。
chmod -R www-data:www-data /root/folder
すべてのフォルダーを繰り返し処理し、ファイルを削除します。
glob('/*.*')
再帰的ではありません。スクリプトには、ルートからファイルを削除する権限が必要です。