您在這裡

模組修改問題

最近在修改檔案zip上傳然後能自動解壓縮的模組。
然後發現一問題~解壓縮能解,但我要如何讓它在指定的
$temp_dir_extract = $temp_dir .'/unzip';中,檔案再多目錄分類呢?
因為我的檔案可能有資料夾解開是裡面有相同格式的檔案,結果全解在unzip的資料夾裡。

/**
* Submit the upload unzip form
*/
function files_upload_submit($form, &$form_state) {
global $user;

$temp_dir = file_create_path(RCOURIER_TEMP_DIRECTORY);
$temp_dir_extract = $temp_dir .'/unzip';
$uploaded_file = file_save_upload('files_upload', array(), $temp_dir);

require_once('libs/pclzip.lib.php');
$archive = new PclZip($uploaded_file->filepath);
$archive->extract(
PCLZIP_OPT_PATH, $temp_dir_extract,
PCLZIP_OPT_REMOVE_ALL_PATH

);
$new_files = file_scan_directory($temp_dir_extract, '\.pdf$');

}

附加檔案大小
Plain text icon pclzip.lib_.php_.txt198.09 KB

我知道原因了~把PCLZIP_OPT_REMOVE_ALL_PATH
這去掉就能解法我上面遇到的問題了~我的檔案就不會全混在一起了

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

kay.l是吶~我的帳號的信箱錯了。
但是我不能修改我的帳號資訊的說…
就一直秀「電子郵件位址 xxx 已經註冊過了。忘記密碼了嗎?」
(我沒多的電子郵件位址重註冊的)
這要我要如何修改我的電子郵件位址呢?我發覺我的信箱@的gmail我把它取為gmaill多一個l

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

您好~
我問前遇到了自動解壓縮的問題~
想請問大魔王您的解決方式...
是修改module嗎?
是的話是修改哪個module?
該從何下手呢?
我的想法是將檔案上傳後即解壓縮,
但我找不到該將程式寫在哪?及怎麼寫!
或是否可以將您的程式提供給我呢?
謝謝!

您好~
我還是不太懂...
您的意思是...?
將解壓縮的程式 ,也就是將本文第一篇的function files_upload_submit()
寫在function theme_upload_attachments()中嗎?
即可自動將檔案解壓?

嗯沒錯~

心中常存善解、包容、感思、知足、惜福 (靜思語錄)

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

實作的如何?可以用嘛?

心中常存善解、包容、感思、知足、惜福 (靜思語錄)

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

請大魔王幫幫忙....
我搞了許久還是搞不出來
資料夾建不了,檔案更是沒有解壓縮...
不是是我程式有錯還是linux的權限設定.....
我將下面程式寫在upload.module的function theme_upload_attachments()中
$path = 'vm';
$filetype_dir = file_create_path($path);
if(!file_exists($filetype_dir)){
drupal_install_mkdir($path);//建立資料夾
drupal_set_message('Creating Directory '. $path, 'status');
}
require_once('pclzip/pclzip.lib.php');
$archive = new PclZip($file->filepath);//檔案位置
$archive->extract($filetype_dir);//解壓縮位置

將這檔案覆蓋於modules\upload中~ (記得要備份)

心中常存善解、包容、感思、知足、惜福 (靜思語錄)

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

我將檔案覆蓋於modules\upload
再將下面程式寫在upload.module的function theme_upload_attachments()中
但一樣沒反應....

$path = 'vm';
$filetype_dir = file_create_path($path);
if(!file_exists($filetype_dir)){
drupal_install_mkdir($path);//建立資料夾
drupal_set_message('Creating Directory '. $path, 'status');
}
require_once('pclzip/pclzip.lib.php');
$archive = new PclZip($file->filepath);//檔案位置
$archive->extract($filetype_dir);//解壓縮位置

下面的程式不用寫~蓋掉就好了~
我的作頁系統是win2003的~~linux的話你可能得查一下權限了…

心中常存善解、包容、感思、知足、惜福 (靜思語錄)

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

就寫在function theme_upload_attachments($files) {..... } 中。
上面檔案改這份

心中常存善解、包容、感思、知足、惜福 (靜思語錄)

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

嗯~是另外寫的~
所以說你有成功了?
心中常存善解、包容、感思、知足、惜福 (靜思語錄)

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)

不~還沒成功
解壓縮的程式應該是filenameRemoveExtensionName()中吧
我還沒寫出來 冏
另外,okFileType()是用來判斷副檔名的對吧?
依照大魔王的寫法,是解壓縮檔中的壓縮檔。
將資料夾中index.html先zip再zip整個資料夾對吧?

我寫出來了~
謝謝大魔王還是該稱貝努鳥的幫忙~
我是改filefield模組的
在顯示縮圖function中加上解壓縮程式
在刪除檔案function的地方加上刪除解壓的檔案~

嗯!後來是改filefield模組嘛?
有改出來就好~

我是貝努鳥,拉之心魂,引領前往杜埃(en:Duat)的諸神之嚮導。 (死者之書錄)

人人把心中的愛發揮出來,就能凝聚善的福業,形成善的循環。 (靜思語錄)