PHP 使用 asort、arsort 重新 index key

PHP 使用 asort、arsort 排序後,想要將 key 由 0 或 1 開始重新排序,要怎麼做呢?

  • 註:asort、arsort 會將 Array 的 Value 排序,但是 Array Key(Index) 還是原始的值,若要將 Array Key 的值也修改 0 ~ N,或者 要某個數字開頭 ~ N, 要怎麼做呢?

閱讀全文〈PHP 使用 asort、arsort 重新 index key〉

使用 PHP Datetime Format 計算多久以前的時間

PHP 想要計算日期時間差距幾天、幾小時、幾秒等等,以前都是自己換算 timestamp 後,再來自己除,然後換算成天數、時分秒等等。

現在 PHP DateTime 的物件,可以直接使用 format() 來輸出這些格式,省掉自己算的工~

閱讀全文〈使用 PHP Datetime Format 計算多久以前的時間〉

PHP 取得 Group ID 並設定檔案 Group 權限

PHP 在 Linux 的 Web 和 Cron 要執行的環境,常常會遇到權限不足的情況。

Debian / Ubuntu Linux 的 Apache / Nginx 使用的 User 是 www-data,通常這個 user 都是無法登入的,所以會建立一個帳號來另外存取執行,要怎麼確保權限都是可以讀寫的呢?

閱讀全文〈PHP 取得 Group ID 並設定檔案 Group 權限〉

PHP 移除最後一個「/」路徑後面的文字

PHP 遇到要處理 URL path 的問題,例如下述:

  • $path = '/images/theme/firefox/logo.png'; → 想要變成 /images/theme/firefox
  • $path = '/images/theme/firefox'; → 想要變成 /images/theme

這本身是很簡單的問題,但是花了點時間處理,純粹紀錄一下沒睡飽的犯蠢過程

很多事情想一想、睡飽再做,可以省掉不少時間~

閱讀全文〈PHP 移除最後一個「/」路徑後面的文字〉

PHP、Python CLI 如何直接寫到 STDERR

PHP、Python CLI 寫 Script,常常會包入 Shell Script 裡面,但是通常都會被導向 > STDOUT

想要安插 Debug message 秀在畫面上(常會遇到一些 Warn,但是那些 Warn 不知道在哪些參數才會發生),所以乾脆寫 STDERR 來看。

閱讀全文〈PHP、Python CLI 如何直接寫到 STDERR〉

small-static-http:使用 PHP Swoole 寫的靜態 HTTP server

現在靜態檔基本上都給 Nginx 噴,這個 http server 號稱小又快

看 Source code 是使用 PHP + Swoole 來實作的,剛 release 1.0.0 版,先記錄一下,有空再來玩玩看~

閱讀全文〈small-static-http:使用 PHP Swoole 寫的靜態 HTTP server〉

PHP 接收 tail 持續 follow 的資料

Linux 要接收 pipe 來的資料,可以參考此篇:使用 PHP 接收 Linux 中 pipe 的 輸出資料

要持續接收資料,還是可以依照上述那篇文章裡面的程式碼,只是要測試一下,此篇把測試結果在紀錄一下~

閱讀全文〈PHP 接收 tail 持續 follow 的資料〉