PHP CURL 直接設定 Cookie 帶入

PHP 透過 CURL 設定讀寫 Cookie 的方式, 大部分都用下述兩個參數:

  • curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookie_jar'); // 讀取
  • curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookie_jar'); // 寫入

不過若讀取網站的 Cookie 一直寫不進去要怎麼辦? (我也不知道為何會寫不進去. orz.)

閱讀全文〈PHP CURL 直接設定 Cookie 帶入〉

PHP 判斷式 0 == 'string' 恆為 true - 2012

簡單的一個判斷式, 如下述:

<?php
$types = 0;
if ($types == 'abc')
    echo 'a';
else
    echo 'b';
?>

答案是印出 a (預期應該要印出 b, 結果卻印出 a)

  • 註1: 這種情況平常比較容易出現在會給預設值的地方, ex: function abc($input, $types = 0) {...}
  • 註2: 目前確定 PHP 5.3, 5.4 都是這樣子的狀況, 看官方說明這個並不算是 Bug, 應該會一直持續下去.

閱讀全文〈PHP 判斷式 0 == 'string' 恆為 true - 2012〉

JSON 與 JavaScript 的 Header Content-Type

某些 CDN 會檢查 HTTP Header 的 Content-Type, 若是 JavaScript、JSON 是動態產生的, 會需要額外送正確的 Header 回去.

若是靜態的話, Apache(apache2.2-common) 預設會去讀取 /etc/mime.types (/etc/apache2/mods-available/mime.conf), 如下述:

  • application/javascript javascript
  • application/json json

閱讀全文〈JSON 與 JavaScript 的 Header Content-Type〉

PHP 的 Interactive shell 模式

臨時要測個簡單的程式片段 或 Function, 一般都會於 CLI 寫來跑一跑, Interactive 模式 可以邊寫邊測試~ (互動模式, 寫完一行就 Compile 一行)

而 PHP CLI 的模式有兩種差異: (執行方法: $ php -a, 說明可見: PHP: Interactive shell)

  • Interactive shell 比較像是 互動式, 有問有答的執行程式.
  • Interactive mode enabled 則是輸入一整個區塊的程式碼, Ctrl-D 執行.

閱讀全文〈PHP 的 Interactive shell 模式〉

將網頁(HTML)內容轉貼到 Word 的分頁控制

想要將 網頁(HTML) 的內容, 直接貼到 Word 上, 然後希望可以控制 Word 分頁(做報告方便), 要使用哪個 HTML Tag 呢?

懶得看下述作法的, 可以直接使用結論, 就是下述 Tag.

<br style="page-break-before:always;">

閱讀全文〈將網頁(HTML)內容轉貼到 Word 的分頁控制〉