→ weiclin: php不是只能在網頁執行喔,也可當成一般script在本機執行 04/02 01:31
→ weiclin: 所以你只要寫一個將資料抓出來存成檔案的php程式 04/02 01:32
→ weiclin: 然後放上server那台機器跑一下就行了 04/02 01:33
→ weiclin: 就像批次檔那樣,這樣講能理解嗎? 04/02 01:34
→ airtsubasa: 不能直接將這個binary fwrite成一個檔案嗎? 04/02 03:02
→ airtsubasa: 其實現在就是卡在該怎麼把binary直接變檔案而已 04/02 03:03
手邊沒code, 稍微打一下
$sql = "SELECT files, file_name FROM formattach WHERE formkeyid='xxx';
...
...
$binary_data = odbc_binmode($files,ODBC_BINMODE_PASSTHRU);
...
...
header('Content-Disposition:attachment;filename='.$filename);
echo $binary_data;
ob_flush();
這樣透過瀏覽器打開是會跳出下載視窗,打開檔案也是正確的
但不知道能不能直接讓它寫成檔案就好?
※ 編輯: airtsubasa (114.40.203.30), 04/02/2016 03:26:51
→ weiclin: 可以呀.. 04/02 03:54
→ weiclin: file_put_contents($dst_file, $binary_data)類似這樣 04/02 03:58
→ airtsubasa: 謝謝,不過我有試過這個,不行的樣子,忘記error mess 04/02 08:08
→ airtsubasa: age了,要等上班日再試了 04/02 08:08
→ peterlai: 多筆壓縮下載會比較好吧! 04/04 22:47
→ weiclin: 突然想問,你是想讓這些附件另存到server還是client? 04/05 05:48
→ MOONRAKER: 明顯是要存到server。寫檔案有錯誤有時是權限沒開。 04/05 05:57
推 GALINE: 可以用 sys_get_temp_dir() 取得暫存檔路徑之後存進去...? 04/05 17:53
→ airtsubasa: 附件是要存到server 04/05 17:55
→ airtsubasa: 權限的話是指資料夾權限嗎?若是的話,有檢查過,都有 04/05 17:57
→ airtsubasa: 開了 04/05 17:57
→ airtsubasa: 謝謝,今天已解決 04/06 19:55