PHP Curl 中如何分離headers 和body 信息
在PHP 中可以我們通過Curl 來獲取遠程網站的數據,同時可以獲取到HTTP Response 的headers 和body,它們會一同作為結果返回,這時需要我們自己來分離它們。 我們可以通過Curl自帶的curl_getinfo()方法獲取頭的長度,然後使用substr來分割字符串: $url = “h…
在PHP 中可以我們通過Curl 來獲取遠程網站的數據,同時可以獲取到HTTP Response 的headers 和body,它們會一同作為結果返回,這時需要我們自己來分離它們。 我們可以通過Curl自帶的curl_getinfo()方法獲取頭的長度,然後使用substr來分割字符串: $url = “h…
網頁開啟gzip壓縮以後,其體積可以減小60%~90%,可以節省下大量的帶寬與用戶等待時間,下圖就是我愛水煮魚首頁經過gzip壓縮之後的比例。由於網站的CSS/JS/圖片等靜態資源我們已經使用七牛進行CDN加速,而七牛已經實現了gzip壓縮,所以如果網站的PHP生成的內容也可以實現gzip壓縮,則整站即可實…
什麼是瀏覽器緩存 瀏覽器緩存,又稱HTTP 緩存,指的是:當我們瀏覽網站的時候,器存儲會在本地存儲一個副本,以便下次訪問同個網址的時候可以不再連接服務器,直接使用本地的緩存。服務器端程序可以通過HTTP Cache Headers 來控制緩存行為,減輕服務器的負擔,縮短了響應時間,顯著得提高網站的性能。 H…
最近的一個微信多客服項目需要判斷當前的日期是節假日還是工作日,中國的節假日有點複雜,比如端午中秋這些假期是農曆,而十一長假又會有補休,所以很難去簡單的去判斷,還好最近找到百度APIStore的一個API可以簡單的判斷: function wpjam_is_holiday($d){ $url = ‘http:…
我們知道Memcache有個pconnect() ?方法可以實現長連接,其實Memcached也可以實現持久化連接。 使用PHP 擴展Memcached 的長連接模式 Memcached的擴展模塊提供的構造函數提供一個參數persistent_id可選項,手冊中這樣介紹: 默認情況下,Memcached實例…
$array[$insert_key] = $insert_value; $array = array_merge($array, $insert_array); $array = $array+$insert_array; 但是如果要在指定的鍵之前插入元素呢?下面的代碼將$data插入關聯數組$array…
關聯數組是PHP 中使用最廣泛的一種數據類型,PHP ?內置多種操作關聯數組的函數,對開發人員來說,要從中找出最有效,最合適自己所開發程序的方法來操縱這些數組。 1、添加數組元素 PHP是一種弱類型語言,這意味著你不需要顯示聲明一個數組及其大小,相反,你可以同時聲明並填充數組。 $weixin_card_t…
最近的一個項目項目中需要對Cookie 加密,所以使用到了Mcrypt 的方法進行加密解密的工作,於是我就整理成一個簡單的類,以後直接簡單調用類實現即可。 Mcrypt 介紹 Mcrypt 是PHP 的一個擴展,完成了常用加密算法的封裝,mcrypt 庫提供了對多種塊算法的支持, 包括:DES,Triple…
在PHP 中,如果獲取的顏色代碼是16 進制的格式,怎麼轉成RGB 數組格式呢? function wpjam_hex2rgb($hex) { $hex = str_replace(“#”, “”, $hex); if(strlen($hex) == 3) { $r = hexdec(substr($hex…
PHP.JS是一個開源的JavaScript庫,它嘗試在JavaScript中實現PHP函數。在你的項目中導入PHP.JS庫,可以在靜態頁面使用你喜歡的PHP函數。 對於熟悉PHP函數而不熟悉JS函數的程序員來說,PHP.JS是非常方便的,現在已經400多個PHP函數在PHP.JS中實現了,還有一些正在被實…
使用php自帶的json_encode函數對數據進行編碼時,中文都會變成unicode,導致不可讀,並且增加傳輸數據的大小,比如,對字符串“我愛水煮魚”進行json_encode後,輸出的是”\u6211 \u7231\u6c34\u716e\u9c7c”,那麼如何使得中文不被json_encode不編碼成…
圖片壓縮裁剪,CSS,JS文件合併和minified,這些工作是網站開發中,必不可少的,但是這些工做如果都是自己來處理,會非常麻煩,所以今天就推荐一個用於優化圖片,CSS ,JS等網站附件的全功能PHP類庫:Munee。 Munee有很強大的緩存功能,可以服務器端和用戶端服務器上緩存資源。並且集成了Imag…
網上有很多PHP代碼片段可以提高開發效率,也可以學習一下其中的技巧而應用在自己的項目中,下面我愛水煮魚就精選了幾個比較有用的PHP片段。 從網頁中提取關鍵詞 從指定頁面中提取關鍵詞並顯示出來。 $meta = get_meta_tags(‘http://blog.wpjam.com/’); $keyword…
isset和array_key_exists函數都可以用來測試數組中變量是否存在: if(isset($array[$i])){ echo “存在”; } if(array_key_exists($i, $array)) { echo “存在”; } 那麼這兩個函數有什麼區別呢?經過測試: 當數組個數為10…
PHP 中的data() 函數顯示的時間是格林威治時間,和北京時間正好相差8個小時,其他時間相關的函數,如strtotime() 也有相同的問題,同樣可以通過下面的方法來解決: 1. 修改php.ini設置: 打開php.ini,查找“date.timezone =” ,並在其後面加上設置的時區值,重啟服務…