PHPExcel

PHPExcel

使用 PHP 處理 Excel 格式檔案

讀取 Excel 檔案

產生 Excel

儲存格格式 PHPExcel_Style_NumberFormat

範例 2

Fatal error: Allowed memory size

在寫入大量資料時,出現了 Fatal error: Allowed memory size 的錯誤,解決方法不是把 PHP 的 Memory Limit 加大,而是加上 PHPExcel 的記憶體控制

指定欄位格式

要注意 setCellValue 修改成 setCellValueExplicit

Fatal error: Class ‘XMLWriter’ not found

補一個 php-xml 就好了

hinet hichannel 取得 index.m3u8 播放路徑

先看一下可播放的實際案例網址

解讀

  1. ra-000073 是頻道的代號名稱,ra-000073 是 NEWS98 ,KissRadio 是 ra-000042
  2. index.m3u8 表示使用 HTTP HLS 串流技術
  3. expire1 & expire2 表示可以執行播放的時間區間,你拿一個早上八點到下午四點的播放網址在晚上執行是不能播放的
  4. token1 & token2 和 expire 是相呼應的,意思就是如果 expire 的數值為 1000 算出 token 是 ABC999 ,那一樣的執行環境算出的 token 就會相同

參考資料

寫 PHP 的人轉到 python 會遇到的問題有

  1. 結束不用加分號
  2. \t 和空白是坑爹的不一樣
  3. 縮行不是爽縮就可以縮
  4. 相同功能的 function 預設的輸出和 PHP 不同

 

好好研究一下網頁是如何運作,追到了 radio_proxy.swf 這個檔案,網頁的播放最後就是由這個 Flash 檔案生成播放路徑,這時又要尋找「反組譯」黑科技

可惜的是,閃客 Sothink SWF Decompile 解不開,大概也有反制黑科技的技術吧

還好這種東西有線上版可以用!?…

不知道當時哪來的腦洞想到上網找 online 版,不過結果是美好的,至少是解開有看到類似 ActionScript 的輸出了。

下面是有關產生 token 的片段程式

基本上和 python 架構是一樣的,只是反組譯有少東西,最關鍵的 KEYS 沒有解開,只好回頭繼續研究 python

後來證實 python 有關 token 的演算法是正確的

Token 演算法

token1 字串組成

token2 字串組成

token1 範例,token2 只要將最後的 1 改成 2 即可

然後拿去 md5() 再跑 base64_encode() 就可以得到 Token 了

index.m3u8 內容

PHP 程式碼

 

讓 PHP 等待系統指令執行完成後才繼續

一般使用 ffmpeg 程式時,當執行 ffmpeg 之後,程式不管轉檔是否完成都會繼續往下執行,如果需要使用轉檔完成的檔案進行後續處理就會發生錯誤。

這時只要根據下面程式思路修改即可

參考

結合這兩個程式思路,自行修改為下列程式

 

推薦在聲音轉檔才使用,影片因為轉檔時間需要更久,應該會遇到 HTTP Server Timeout 逾時的問題。

PHP preg_match 取不到值

參考

使用 PHPWord 的 replaceBlock() ,明明是正確的搜尋條件,在搜尋字串相對較短時可以正常運作,完整字串時卻無法取得結果。

搞超久才想到是否是字串太長導致,最後證實確實有長度限制,可是 PHP 卻「完全」不給任何警告或錯誤訊息 …

 

Joomla 1.5 使用者第三方 PHP 管理

批次新增

參考

 

 

使用者登入檢查

Joomla 的密碼使用 md5() 加密,登入後或是由系統建立的使用者會有另一個方式儲存密碼

例如密碼是 123456 ,原來的 md5() 是 e10adc3949ba59abbe56e057f20f883e

Joomla 會亂數產生一個 salt 值來和原密碼連結後,重新 md5() 來當作最後密碼

例如產生了 334u9rih5apoHuW0DqrVICIUvXy3Vsau 的 salt 亂數值之後,密碼就是 md(‘123456334u9rih5apoHuW0DqrVICIUvXy3Vsau’) = b6a8e243b8e54fe5a55e33fde056c09f

資料庫 password 欄位就是 b6a8e243b8e54fe5a55e33fde056c09f:334u9rih5apoHuW0DqrVICIUvXy3Vsau

PHP 的 SQL Server 存取及語法使用備註

使用自訂 repo 的方式無法順利安裝 php-gd 等待測試更新

參考

安裝 php-mssql

PHP 範例程式

 

 

UTF-8 設定

參考

vi /etc/freetds.conf

 

 

MS SQL Server 語法

這是一個很簡單的範例,SQL Server 的欄位名稱以 [] 方括弧包住,值也是使用 ‘ 單引號