PHP删除脚本无法正常运行

时间:2012-09-05 13:20:30

标签: php delete-file

我有一个脚本(从StackOverflow中的某个地方得到它,积分不要发给我!)来 删除文件夹+其内容。但是,这对我不起作用。删除文件夹后,我的数据库中的记录应该被删除,这种情况就好了。但是,该文件夹不会被删除,也不会被删除!这是我的代码:

<?php

$filepath = dirname(__FILE__);
$gemeented = preg_replace( '#^(.*)/(.*?)/(.*?)/(.*?)/(.*?)/(.*?)$#', "$2", $filepath );
$plaatsd = preg_replace( '#^(.*)/(.*?)/(.*?)/(.*?)/(.*?)/(.*?)$#', "$4", $filepath );
$hrubriekd = preg_replace( '#^(.*)/(.*?)/(.*?)/(.*?)/(.*?)/(.*?)$#', "$5", $filepath );
$bedrijfn = preg_replace( '#^(.*)/(.*?)/(.*?)/(.*?)/(.*?)/(.*?)$#', "$6", $filepath );

$filepath2 = "http://".$gemeented.".url.nl/".$plaatsd."/".$hrubriekd."/".$bedrijfn."/";
$filepath3 = "http://".$gemeented.".url.nl/".$plaatsd."/".$bedrijfn."/";

echo $filepath2;


function Delete($filepath2)
{
    if (is_dir($filepath2) === true)
    {
        $files = array_diff(scandir($filepath2), array('.', '..'));

        foreach ($files as $file)
        {
            Delete(realpath($filepath2) . '/' . $file);
        }

        return rmdir($filepath2);
    }

    else if (is_file($filepath2) === true)
    {
        return unlink($filepath2);
    }

    return false;
}


?>

为了确保我的$ filepath2正确,我回应了它,结果是:

http://dongen.mydomain.nl/s-gravenmoer/aandrijvingenenbesturingen/bedrijfsnaam/

这正是我想要的文件夹,但是,它没有发生!文件夹有CHMOD 755。

编辑:

只使用$ filepath也不会起作用,echo-ing给了我:

/vhosts/mydomain.nl/subdomains/dongen/httpdocs/s-gravenmoer/aandrijvingenenbesturingen/bedrijfsnaam

2 个答案:

答案 0 :(得分:1)

我无法使上述脚本正常工作,但我设法找到另一个适合我的脚本!只需输入相对路径即可!

$dirname = "../".$bedrijfn."/";
delete_directory($dirname);

function delete_directory($dirname) {
if (is_dir($dirname))
      $dir_handle = opendir($dirname);
   if (!$dir_handle)
      return false;
   while($file = readdir($dir_handle)) {
      if ($file != "." && $file != "..") {
         if (!is_dir($dirname."/".$file))
            unlink($dirname."/".$file);
         else
            delete_directory($dirname.'/'.$file);    
      }
   }
   closedir($dir_handle);
   rmdir($dirname);
   return true;
}

希望它可以帮助别人!

桑德

答案 1 :(得分:0)

您不能使用url删除文件,您应该取消链接文件系统路径。 (编辑:rmdir也一样)