PHP Array 依照「值」來刪除 Key

PHP 陣列內容的「值(Value)」符合某個字串,就要將此符合的 Key 從陣列刪除(Key + Value 都一起刪除),要怎麼做呢?

閱讀全文〈PHP Array 依照「值」來刪除 Key〉

PHP 使用 PHPMailer 遇到 SSL operation failed 的解法

使用 PHP 寄信經常會使用 PHPMailer,但是要使用內部網路的 Mail
Server 來寄信,卻一直遇到如下述的錯誤:

Warning: stream_socket_enable_crypto(): SSL operation failed with code 1.
OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

要怎麼解決呢?

閱讀全文〈PHP 使用 PHPMailer 遇到 SSL operation failed 的解法〉

PHP json_decode 遇到 Control character error 解法

PHP 使用 json_decode() 遇到下述錯誤訊息:(由 json_last_error_msg() 抓到的訊息)

Control character error, possibly incorrectly encoded

要怎麼解決呢?

閱讀全文〈PHP json_decode 遇到 Control character error 解法〉

PHP 將 png 透明底圖改成白色

PHP 對一張透明底圖的 png 圖片,想要將透明底圖加上顏色(移除透明底圖),要怎麼做呢?

  • 註:想要將兩張圖片合併在一起,遇到透明底圖的時候,合成起來透明底圖會變黑底

閱讀全文〈PHP 將 png 透明底圖改成白色〉

PHP 陣列 想 保留某些索引值 剩下全部移除

PHP 的陣列裡面,想要保留某些 Key,將其它的全部移除,要怎麼做呢?

  • 註:想要重組 URL 的 Query string 時,很常使用到此功能。

閱讀全文〈PHP 陣列 想 保留某些索引值 剩下全部移除〉

PHP 使用 gmdate 取得 UTC 的時間

PHP 想要直接取得 UTC 的時間,不想要每台機器、時區分開計算,可以使用 gmdate() 直接來呈現。

<?php                                                                                                                                     
echo gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998)); // UTC: Dec 31 1997 16:00:00                                                                                        
                                                                                                                                                                             
echo date("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998)); // CST: Jan 01 1998 00:00:00                                                                                          
?>

PHP 檔案上傳 遇到 容量太大 要修改 php.ini 的參數

PHP 要上傳檔案,遇到檔案太大(預設上限2M),php.ini 要修改哪些地方才能夠解決這個問題呢?

閱讀全文〈PHP 檔案上傳 遇到 容量太大 要修改 php.ini 的參數〉

PHP 將陣列有部份「符合字串」的全部過濾移除

PHP 要對陣列的內容做過濾排除的動作,類似 grep -v 的效果,要怎麼做呢?

  • 註:grep -v:--invert-match (Invert the sense of matching, to select non-matching lines.)

閱讀全文〈PHP 將陣列有部份「符合字串」的全部過濾移除〉

PHP 將 CSV 使用第一欄當 Key 來轉成陣列

PHP 想將 CSV 轉成陣列,只要使用 str_getcsv() 即可,不過 CSV 的格式通常不會讓人這麼好過,CSV 常見幾個問題先列在下面:

  1. Big5 編碼 (Excel 存檔成 CSV 和要打開預設都是需要 Big5)
  2. BOM (若有存 UTF-8 的話,大多數會有 BOM)
  3. 分隔符號 (常見 "\t" 和 ","),有時候還會確保整個字串,會用 """ 包起來 (三個 double quote)
  4. 第一行是標題,想直接拿來當 Key 操作

在此篇上述就不解決(其它文章有寫解法,在此不詳述),只解決 3 和 4 的問題。

閱讀全文〈PHP 將 CSV 使用第一欄當 Key 來轉成陣列〉

PHP 建立臨時伺服器 來接收所有參數資訊

PHP 想要臨時建立伺服器,可以使用 php -S 來做,例如:

  • cd /tmp
  • tmp$ php -S localhost:8080

上述會建立一個 http://localhost:8000,就可以抓取 /tmp 所有檔案

若是想要將所有網址都丟到某支 PHP 裡面,可以怎麼做呢?

閱讀全文〈PHP 建立臨時伺服器 來接收所有參數資訊〉