作者banana2014 (香蕉共和國)
看板PHP
標題[問題]
時間Thu May 7 15:08:03 2015
PHP如何解壓縮rar檔及壓縮檔案成rar檔? 我找了一下網路,有看到PECL的rar package可
以用,不過不曉得為什麼就是起不了作用。請問PECL的rar package是不是還要另外再裝才
能使用? 如何判斷我的主機(apache)是否已經裝了PECL的rar package呢? 如果沒有,那該
怎麼裝呢? (因為我是找網上的虛擬主機,所以不曉得該怎麼裝,是不是還要通知管理員叫
他幫我安裝呢?)
如果找到php rar的解壓縮及壓縮程式的話,可以盡量把整個程式碼都貼上來,並做解說,
謝謝各位!
另外還有RarArchive,那是什麼? 需要再另外安裝什麼嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.80.132.28
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1430982486.A.54D.html
※ 編輯: banana2014 (219.80.132.28), 05/07/2015 15:32:54
1F:推 shadowjohn: 我會比較建議你用外部指令做 :D 05/07 15:42
2F:→ shadowjohn: 直接上傳 binary ,權限改一下 +x 直接呼叫 05/07 15:43
3F:→ shadowjohn: rar、zip都有 static 版本,ok的 05/07 15:43
4F:→ banana2014: 請問外部指令… 怎麼做? 我是租虛擬主機的… 05/07 17:23
<?php
echo system("rar a test.rar data"); //將data資料夾壓縮成test.rar,但沒反應
echo system("rar e k.rar"); //將k.rar解壓縮,這行依舊沒反應
?>
我照你的方法用外部指令去做,但是都沒反應耶,是不是哪裡出錯了? 或是還要必須再安裝什麼呢?
謝謝指教!
※ 編輯: banana2014 (219.80.129.121), 05/07/2015 17:58:50
5F:→ MOONRAKER: (1)查你的主機有沒有開system()或exec() 05/07 18:18
6F:→ MOONRAKER: (2)確定rar在哪裡 養成使用完整路徑習慣 05/07 18:19
7F:→ banana2014: (1)怎麼查? 05/07 18:45
8F:→ banana2014: (2)已經確定rar放在哪裡了,也寫了完整的路徑了,但依 05/07 18:46
9F:→ banana2014: 舊無反應... 05/07 18:47
10F:→ KawasumiMai: 之前有包過zip,rar倒是沒包過 05/07 19:16
11F:→ MOONRAKER: 問你的主機公司啊 怎麼查咧 05/07 20:00
12F:推 bcawosxy: 撈LOG出來看最準咧 05/07 21:43
13F:推 shadowjohn: 我想你是用網頁去跑的對吧? 05/07 22:10
14F:→ shadowjohn: 請建一個777的目錄,把rar檔往那個空間擺 05/07 22:11
15F:→ shadowjohn: 例: mkdir("tmp",0777); 05/07 22:11
16F:→ shadowjohn: 絕對路徑/rar ??? tmp/test.rar data 05/07 22:12
17F:→ shadowjohn: 你的 rar 檔,也要設 chmod +x 才行 05/07 22:12
18F:推 shadowjohn: 跑外部指令的話, echo `.../rar a.rar data`; 05/07 22:16
19F:→ shadowjohn: 通常我會下 `cd xxxxx && ./rar ?? tmp/a.rar data`; 05/07 22:17
20F:→ poiuy999: 2年前做過zip解壓縮的 java applet的zip 解壓縮後產生ht 05/07 23:17
21F:→ poiuy999: ml檔展示applet 05/07 23:17
22F:→ MOONRAKER: 呼叫java好像也是一個方法 前提是有system/exec好用 05/08 10:34
23F:推 alog: 記得對command line 做跳脫 05/09 01:38
24F:→ alog: 指令 05/09 01:38
25F:→ alog: 不然會被injection 系統很容易出事 05/09 01:38