PHP 4.1.0 以前變數 與 現在預設變數 的對應

PHP 4.1.0 以前的版本,全域變數還沒有 $_GET、$_POST、$_SERVER 可以用,都是 $HTTP_* 來處理,遇到這種舊版的 Code 要怎麼對應來修改?

閱讀全文〈PHP 4.1.0 以前變數 與 現在預設變數 的對應〉

PHP 取得本月份最後一天的日期

PHP 要抓取本月份的最後一天,一般都是抓下個月第一天,然後轉成 timestamp - 3600 秒 (減1秒也行,只要到上個月的前一天就好),來取得上個月的最後一天。

PHP 的 date 使用 "t" 就可以抓到此月份最後一天的日期,如下述範例:

  1. <?php
  2. echo date('Y-m-t', strtotime('now')); // 2017-07-31
  3. ?>

註:strtotime('now') 可省略

MySQL 多層的目錄階層 一次查詢完成

資料庫設計分類、目錄等等的結構,要去考量有幾個階層,當階層不明確,或者階層很多,通常會用下述設計方式(想要幾個階層都可以):

  • cate_id / cate_name / cate_parent_id (預設 cate_parent_id = 0)

依照這種設計法,每次查詢就一直找到自己的父節點id,當找到 cate_parent_id = 0 就找到最上層了

這種作法就會需要寫個 while 一直往上查詢上去,有沒有辦法一行 SQL 語法直接達成呢?

閱讀全文〈MySQL 多層的目錄階層 一次查詢完成〉

PHP preg_replace 針對多行的 regex 判斷參數

PHP 使用 preg_replace() 要做 regex 的字串取代很方便(單行),遇到多行每次都>要測試是要用 m 還是 s,還是做個紀錄好了~

  • 先說結論:preg_replace 要對多行做 regex 判斷,要用 s

閱讀全文〈PHP preg_replace 針對多行的 regex 判斷參數〉

Bash script 取得自己的檔案名稱

Bash 的 Shell script 要抓自己的檔案名稱,只要用 $0 就可以抓到,不過 Shell script 若被呼叫時,用 $0 抓到的名稱是如何呢?

另外,Bash 有哪些預設的變數可以使用呢?

閱讀全文〈Bash script 取得自己的檔案名稱〉

PHP 於 CLI 單行直接執行的用法

PHP 想要像 Perl、Python 可以單行執行,或者是 cat、tail -f 持續餵資料給程式接收,要怎麼做呢?

範例取自:Decoding URL encoding (percent encoding)

  1. alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"'
  2. alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1])"'
  3. urldecode 'q+werty%3D%2F%3B'
    • q werty=/;
  4. $ urlencode 'q werty=/;'
    • q+werty%3D%2F%3B

閱讀全文〈PHP 於 CLI 單行直接執行的用法〉

查看網頁各階段載入速度的 Bookmarklet

網頁載入有多少 request、查多少 Domain,總共花費多少時間... 等等,此 JavaScript 可以接撈出一個頁面整合查看。

閱讀全文〈查看網頁各階段載入速度的 Bookmarklet〉

PHP 使用 SimpleXML 遇到冒號「:」的解法

PHP 使用 SimpleXML 來解析 XML 很方便,解析 RSS 也是輕鬆愉快,不過要解析 WordPress 的 RSS 時,遇到 XML Tag 的名稱有「:」,造成解析不到,要怎麼解決呢?

閱讀全文〈PHP 使用 SimpleXML 遇到冒號「:」的解法〉