[請益] generate file from DB image column

作者: airtsubasa (偽學姊)   2016-04-02 01:06:55
老舊的系統是將附件檔案存放置db裡(ms sql 2005), 其欄位型態為 image
目前能力頂多做到將其欄位 select 出來後,
透過header再儲存檔案,
(約有上千筆,總不可能一筆一筆把欄位抓出來,然後透過瀏覽器下載...)
php有辦法將這些 binary 資料存成各個檔案嗎?
(檔案類型有 doc,xls,xlsx,docx,pdf,jpg,png,gif,bmp...蠻多種的)
作者: weiclin (CC)   2016-04-02 01:31:00
php不是只能在網頁執行喔,也可當成一般script在本機執行所以你只要寫一個將資料抓出來存成檔案的php程式然後放上server那台機器跑一下就行了就像批次檔那樣,這樣講能理解嗎?
作者: airtsubasa (偽學姊)   2016-04-02 03:02:00
不能直接將這個binary fwrite成一個檔案嗎?其實現在就是卡在該怎麼把binary直接變檔案而已
作者: weiclin (CC)   2016-04-02 03:54:00
可以呀..file_put_contents($dst_file, $binary_data)類似這樣
作者: airtsubasa (偽學姊)   2016-04-02 08:08:00
謝謝,不過我有試過這個,不行的樣子,忘記error message了,要等上班日再試了
作者: peterlai (彼得)   2016-04-04 22:47:00
多筆壓縮下載會比較好吧!
作者: weiclin (CC)   2016-04-05 05:48:00
突然想問,你是想讓這些附件另存到server還是client?
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-04-05 05:57:00
明顯是要存到server。寫檔案有錯誤有時是權限沒開。
作者: GALINE (天真可愛CQD)   2016-04-05 17:53:00
可以用 sys_get_temp_dir() 取得暫存檔路徑之後存進去...?
作者: airtsubasa (偽學姊)   2016-04-05 17:55:00
附件是要存到server權限的話是指資料夾權限嗎?若是的話,有檢查過,都有開了

Links booklink

Contact Us: admin [ a t ] ucptt.com