0

私が取り組んでいる小さなプロジェクトがあり、少し問題があります。「actions」というディレクトリがあり、このフォルダ内に「remove.php」という名前の PHP ファイルがあります。

「actions」フォルダーの外から「remove.php」ファイルを呼び出すと、「actions」フォルダーとすべてのコンテンツが削除されるようにしようとしています。しかし、削除を行うために呼び出しているファイルがその「アクション」ディレクトリ内にあるため、機能していないようです。

親ディレクトリと一緒に自分自身を破壊するようにファイルを呼び出したいと思っています。

これは可能ですか?私はPHP BTWでプログラミングしています。

助けてくれてありがとう。

これは私の「remove.php」ファイルコードです:

<?php
// Get parent folder
$parent = basename(dirname($_SERVER['PHP_SELF']));

// Loop through all files and folders, and remove them
foreach(glob($parent . '/*') as $file)
{ 
  if(is_dir($file))
  {
    rmdir($file);
  } else
  {
    unlink($file);
  }
}

// Remove parent folder after all files have been deleted
rmdir($parent); 

// Inform that folder has been deleted
echo "actions folder deleted";
?>
4

2 に答える 2

0

UNIX ベースのシステムの場合: 間違いなく。とを使用rmdirunlinkます。Windows システムは、現在開いているファイルをロックする傾向があるため、これは機能しない可能性があります (確実ではありませんが)。

もちろん、Web サーバーには、フォルダーとその親フォルダーへの完全な書き込み権限が必要です。

于 2013-06-04T22:40:47.500 に答える
0

ここでいくつかの懸念事項があります。まず、ファイルとフォルダーを削除するために必要な十分なアクセス権がスクリプトにあることを確認する必要があります。その後、コード内で確認できる問題は、フォルダーを削除しようとしている方法です。rmdir空のフォルダーのみを削除できるため、フォルダーを削除する前にフォルダーを空にする必要があります。これは通常、再帰的に行われます。それにもかかわらず、ファイルがそれ自体を削除するのは悪い考えです。

于 2013-06-05T03:20:25.357 に答える