2012-09-05 51 views
0

我有一個腳本(從StackOverflow的某處獲得它,信用不要去找我!)到 刪除一個文件夾+其內容。但是,它不適合我。刪除文件夾後,我的數據庫中的記錄應該被刪除,這種情況很好。但是,該文件夾不會被刪除,也不會被刪除!這是我的代碼:PHP刪除腳本不能正常工作

<?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

編輯:

只需使用$文件路徑不會工作,回聲ING,讓我:

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

回答

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; 
} 

希望它能幫助別人!

桑德爾

0

不能使用URL來刪除文件,應該取消鏈接文件系統路徑。 (編輯:rmdir也是如此)

+0

這就是我的想法!但只使用$ filepath將不起作用,這就是爲什麼我創建了$ filepath2的原因。 $文件路徑回聲給我/vhosts/mydomain.nl/subdomains/dongen/httpdocs/s-gravenmoer/aandrijvingenenbesturingen/bedrijfsnaam,所以這應該工作正確嗎?它雖然沒有.. – user1555076

+0

由於$ filepath包含文件的父文件夾,您不能明顯刪除它。 – erdeszt

+0

不完全正確,上面的腳本似乎做得很好。 – user1555076