0

最近、wwwディレクトリの外から100K以上のファイルを削除する必要があります。誰かが私に提案した以下のコードを使用しようとしています

foreach(glob('*.*') as $file) unlink($file);

しかし、public_htmlフォルダーからファイルを削除し、wwwディレクトリの外からファイルを削除したい

ありがとう

4

3 に答える 3

0

ウェバルトは私に変わるように言った

foreach(glob('*.*') as $file) unlink($file);

foreach(glob('../*.*') as $file) unlink($file);

そしてその仕事は成功した

于 2012-07-17T09:19:29.173 に答える
0

問題は、公開されているスクリプトがルート フォルダーにアクセスできるようにする理由だと思います。

コマンド ラインからこのスクリプトを使用していくつかのタスクを実行する場合は問題ありませんが、ルート フォルダー内のファイルを変更する public_html にスクリプトを使用しないことを強くお勧めします。

スクリプトにルート フォルダーへのアクセスを許可したい場合は、次のことができます。

chmod -R www-data:www-data /root/folder

すべてのフォルダーを繰り返し処理し、ファイルを削除します。

于 2012-07-17T07:02:55.237 に答える
0
glob('/*.*')

再帰的ではありません。スクリプトには、ルートからファイルを削除する権限が必要です。

于 2012-07-17T06:44:29.670 に答える