您在這裡

關於移除...

Mike's 的頭像
Mike 在 2009-05-18 (週一) 15:16 發表

請教一下前輩...
我每次在 Server 上移除 Drupal (6.x) 的時候都刪不掉以下路徑的檔案:

drupal/sites/default/files/languages/zh-hant_246700ca5e06c3cf9378185de30a9ac3.js

請問這是什麼原因呢?以下是 FTP 錯誤訊息:

DELE zh-hant_246700ca5e06c3cf9378185de30a9ac3.js
550 Could not delete zh-hant_246700ca5e06c3cf9378185de30a9ac3.js: Permission denied
PORT 192,168,1,108,255,64
200 PORT command successful
LIST
150 Connecting to port 60919
226 ASCII
Options: -a -l
3 matches total

我印象中, 這個檔案刪掉了會造成 i18n 的一些問題, 而且他並不會自動重建, 我之前好像是把 module 整個 disable/enable 然後又清 cache 什麼的才弄回來. 當然, 情況可能和你的不一樣, 只是建議你可以先備份一下, 萬一出問題了再改回來.

另外, 權限的部份, 有些 ftp 軟體也可以改權限 (i.e. FileZilla), 當然, 有功能不代表有權限改, 得看你的目錄權限目前是怎樣的.

從主站 http://drupal.org/node/172250 看到的
自己服用過後還蠻有效滴
對於apache產生的檔案或目錄都有效
可以試試看

參考下面的程式
最後一行請自行更改為您虛擬主機上要刪除目錄的絕對路徑
貼到 removeapachefiles.php 內
上載到您的Web空間(例如放在根目錄下)
然後在瀏覽器位址欄內呼叫並執行這段php程式(例如: http://www.your-domain.com.tw/removeapachefiles.php)
使用完後千萬要記得馬上移除

<?php
// ggarciaa at gmail dot com (04-July-2007 01:57)
// I needed to empty a directory, but keeping it
// so I slightly modified the contribution from
// stefano at takys dot it (28-Dec-2005 11:57)
// A short but powerfull recursive function
// that works also if the dirs contain hidden files
//
// $dir = the target directory
// $DeleteMe = if true delete also $dir, if false leave it alone

function SureRemoveDir($dir, $DeleteMe) {
if(!$dh = @opendir($dir)) return;
while (($obj = readdir($dh))) {
if($obj=='.' || $obj=='..') continue;
if (!@unlink($dir.'/'.$obj)) SureRemoveDir($dir.'/'.$obj, true);
}
if ($DeleteMe){
closedir($dh);
@rmdir($dir);
}
}

//SureRemoveDir('EmptyMe', false);
SureRemoveDir('/path_here/www/drupal/sites/default', true);