PHPMailer 使用 Gmail 寄信登入失敗的設定修復

想要使用 PHPMailer 來透過 GMail 的帳號寄信,近期都無法正常登入成功(「密碼不正確」錯誤),以至於信件無法正常發送,主要原因在於 Google 設定部分需要做點修改。

閱讀全文〈PHPMailer 使用 Gmail 寄信登入失敗的設定修復〉

PHP 送 301 / 302 轉址的 Header

以往 301 我都是設在 Apache 裡面,如下:

RewriteRule ^news$  http://example.com/news/ [R=301,NE,L]

想要在 PHP 送 301 / 302 Redirect 的 Header 要如何寫?

HTTP 定義 301 / 302 的 Header 意義:

  • 301: 永久轉址 (Permanently Moved)
  • 302: 臨時轉址 (Temporarily Moved)

閱讀全文〈PHP 送 301 / 302 轉址的 Header〉

PHP 取得 Git 的 branch name

想要取得專案中目前在 Master 或 Branch,可以判斷要去抓不同的 config,可以使用此 function。

  1. <?php
  2. {
  3. $git_head = './.git/HEAD';
  4. return (file_exists($git_head)) ? implode('/', array_slice(explode('/', file_get_contents($git_head)), 2)) : '';
  5. }
  6. ?>

註:$git_head 的路徑請自行修改設定。

使用方式:

感謝 Fwolf 的建議,用 system 的指令執行:git branch | grep '*' | awk '{print $2}' ,可以解決 submodule 抓不到 branch 的問題

CSS 如何讓 整個頁面秀出的高度:100%

網頁內容假設只有一行(或不定行數,達不到頁面高度),但是想要設定整頁的背景顏色,就會需要設定高度(height:800px 之類的),要如何設定才能整個可視範圍都不會有問題呢?

閱讀全文〈CSS 如何讓 整個頁面秀出的高度:100%〉

PHP Markdown Parser 函式庫

將 Markdown 語法 轉譯成 HTML 的 PHP Library

詳細可見:

用法範例

  1. <?php
  2. include('Parsedown.php');
  3. $Parsedown = new Parsedown();
  4. echo $Parsedown->text('Hello _Parsedown_!'); # prints: <p>Hello <em>Parsedown</em>!</p>
  5. ?>

教學文件、影片

Facebook v4.4 PHP SDK 升級範例

Facebook PHP SDK 升級以往都是安排個半天寫好、測試,沒想到這次一行 code 的位置問題,追了三天才搞定,寫個簡單的範例出來,希望大家不會踩到同樣的問題。

閱讀全文〈Facebook v4.4 PHP SDK 升級範例〉