PHP file_get_contents 加送 Header (User-Agent)

PHP 要抓遠端的資料,通常都會使用 CURL,不過常常偷懶會直接拿 file_get_contents 來用

不過 file_get_contents 有時後會遇到需要判斷 User-Agent 等等的,需要加送 Header 資訊,要加送這些資訊要怎麼做呢?

閱讀全文〈PHP file_get_contents 加送 Header (User-Agent)〉

PHP 將 Array 的 Value 依照字元長到短排序

有多個字串想要依序做刪除或取代,但是可能會遇到一些問題,如下案例:

$filter 是不想出現的文字,所以要將 $string 的內容有出現這些文字,都刪除~

<?php
$string = '蘋果多少錢';
$filter = ['多少', '多少錢', '價格', '價錢'];
echo str_replace($filter, '', $string); // 蘋果錢
?>

這樣子結果會出來「蘋果錢」,而不是預期想要的「蘋果」

要怎麼解決呢?

閱讀全文〈PHP 將 Array 的 Value 依照字元長到短排序〉

HTTP Status Code 307、308 的作用

HTTP Status Code 3xx 都是做重新導向的作用:

  • 301 Moved Permanently
  • 302 Found
  • 303 See Other
  • 307 Temporary Redirect
  • 308 Permanent Redirect

此篇主要是討論 307、308 為主,其他就簡單說明一下帶過~~

閱讀全文〈HTTP Status Code 307、308 的作用〉

Python 將 IPv4 CIDR subnet IP 展開

Classless Inter-Domain Routing (CIDR) (無類別域間路由) 是一個 IP 區間的表示方式,主要寫法如下:

  • CIDR 表示方式與 subnet 展開
    • 192.0.2.1/32 = 192.0.2.1
    • 192.0.2.0/24 = 192.0.2.0 ~ 192.0.2.255
    • 192.0.2.0/25 = 192.0.2.0 ~ 192.0.2.127
    • 192.0.2.128/25 = 192.0.2.128 ~ 192.0.2.255

使用 Python 要將 CIDR 展開要怎麼做呢?

閱讀全文〈Python 將 IPv4 CIDR subnet IP 展開〉

PHP 查看頁面 程式跑到此處花多久時間

PHP 想要看此 Function 花費多久時間,可以使用 microtime() 前後包起來,範例可見此篇:PHP 測量程式執行時間

想要看頁面的程式執行到此處,花費多久的時間,要怎麼做呢?

閱讀全文〈PHP 查看頁面 程式跑到此處花多久時間〉