本地(网页)服务器~用curl发送一个删除请求 header('content-type:text/html;charset=utf8');
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://data.XXXX.com/control.php?a=del_dir&dir=$dir");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
$result = curl_exec($curl);
curl_close($curl); 附件服务器 control.php 放在附件服务器中帮我删除目录if (isset($_GET["a"]) && $_GET["a"]== "dir") {
$del_dir = dirname(__FILE__).$_GET["dir"];
removeDir("$del_dir");
}我当然知道可以做个检验~,比如
if(file_exists( dirname(__FILE__).$_GET["dir"])){//xxxxx}但我怕日后不小心做漏了~又再把整个根目录删除的话就麻烦了想从根本下,就是那个 removeDir()//删除整个目录
function removeDir($dirName){
$result = false;
if(! is_dir($dirName))
{
trigger_error("目录名称错误", E_USER_ERROR);
}
$handle = opendir($dirName);
while(($file = readdir($handle)) !== false)
{
if($file != '.' && $file != '..')
{
$dir = $dirName . DIRECTORY_SEPARATOR . $file;
is_dir($dir) ? removeDir($dir) : unlink($dir);
}
}
closedir($handle);
$result = rmdir($dirName) ? true : false;
return $result;
}请教一下问题到底出在哪?
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://data.XXXX.com/control.php?a=del_dir&dir=$dir");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
$result = curl_exec($curl);
curl_close($curl); 附件服务器 control.php 放在附件服务器中帮我删除目录if (isset($_GET["a"]) && $_GET["a"]== "dir") {
$del_dir = dirname(__FILE__).$_GET["dir"];
removeDir("$del_dir");
}我当然知道可以做个检验~,比如
if(file_exists( dirname(__FILE__).$_GET["dir"])){//xxxxx}但我怕日后不小心做漏了~又再把整个根目录删除的话就麻烦了想从根本下,就是那个 removeDir()//删除整个目录
function removeDir($dirName){
$result = false;
if(! is_dir($dirName))
{
trigger_error("目录名称错误", E_USER_ERROR);
}
$handle = opendir($dirName);
while(($file = readdir($handle)) !== false)
{
if($file != '.' && $file != '..')
{
$dir = $dirName . DIRECTORY_SEPARATOR . $file;
is_dir($dir) ? removeDir($dir) : unlink($dir);
}
}
closedir($handle);
$result = rmdir($dirName) ? true : false;
return $result;
}请教一下问题到底出在哪?
$del_dir = dirname(__FILE__).$_GET["dir"];
if(file_exists($del_dir)){
removeDir("$del_dir");
}
}