Time of Update: 2017-01-19
命令:file_put_contents(); 命令解析:file_put_contents (PHP 5) file_put_contents -- 將一個字串寫入檔案 說明: int file_put_contents ( string filename, string data [, int flags [, resource context]] ) 和依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。 參數 data
Time of Update: 2017-01-19
代碼很簡單,就不多廢話了。複製代碼 代碼如下:$array=array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20");//規定要分頁的數組$page= $_GET['page']; $r = $this->page($array,5,$page); print_r($r); exit(); foreach($r["
Time of Update: 2017-01-19
在linux中輸入命令複製代碼 代碼如下:crontab -e然後使用vim的命令編輯開啟的檔案,輸入複製代碼 代碼如下:0 * * * * /usr/bin/php -f /home/userxxx/update.php儲存,退出,好了,現在系統會在每個0點自動執行update.php指令碼,指令碼中可以編寫資料庫執行,自動發郵件等功能。註:直接寫成 0 * * * * php -f /home/userxxx/update.php將不會起作用。 另外cronjob的格式為:MIN
Time of Update: 2017-01-19
驗證碼(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自動區分電腦和人類的圖靈測試)的縮寫,是一種區分使用者是電腦還是人的公用全Bot。可以防止:惡意破解密碼、刷票、論壇灌水,有效防止某個駭客對某一個特定註冊使用者用特定程式暴力破解方式進行不斷的登陸嘗試,實際上用驗證碼是現在很多網站通行的方式,我們利用比較簡易的方式實現了這個功能。 &
Time of Update: 2017-01-19
經常遇到這樣一種情況,計劃任務定時後台執行某個php程式,有時候也需要手動執行,可能多個人都需要執行這個程式,如果任務期間非常長,就很容易造成重複執行,所以就開發了下面的類。作用:在實際代碼運行前檢查與當前相同操作的進程是否正在運行,高並發運行是可靠的,運行中的進程中途異常中斷不會產生任何影響。構造方法傳遞pid檔案目錄的絕對路徑,需要自己保證不同進程對應不同pid檔案。複製代碼 代碼如下:<?php/* *
Time of Update: 2017-01-19
phpcurl使用privoxy代理訪問https://www.google.com/search?q=xxxcurl配置平淡無奇,長時間運行發現一個嚴重問題,記憶體泄露!不論用單線程和多線程都無法避免!是curl訪問https網站的時候有bug!記憶體泄露可以通過linux的top命令發現,使用php函數memory_get_usage()不會發現。經過反覆調試找到解決辦法,curl配置添加如下幾項解決問題:複製代碼 代碼如下:[CURLOPT_HTTPPROXYTUNNEL] =
Time of Update: 2017-01-19
基本滿足所有配置相關的需求。/** * 解析.ini格式的設定檔為一個樹形結構的對象 * 設定檔不同section通過冒號繼承 * 預設根據hostname確定使用的section,如果不能確定就優先使用production * 檢測環境的時候總是優先檢測production,其餘section按定義順序檢測 * * @author ares@phpdr.net * */class Config { /** * 解析後的設定檔 * * @var stdClass */ private $
Time of Update: 2017-01-19
在之前我寫過php返回json資料簡單一實例,剛剛上網,突然發現一篇文章,也是介紹json的,還挺詳細,值得參考。內容如下從5.2版本開始,PHP原生提供json_encode()和json_decode()函數,前者用於編碼,後者用於解碼。一、json_encode()複製代碼 代碼如下:<?php$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echo json_encode($arr);?
Time of Update: 2017-01-19
有時候經常會用到一些線上手冊,比如國內或國外的,有些是訪問速度慢,有些是作者直接吧網站關閉了,有些是伺服器總是宕機,所以還是全盤複製到自己伺服器比較爽。庫特點:給定一初始串連,初始連結以下的層級所有檔案會拷貝到本地。多次複製可以配置是否覆蓋。可以配置是否下載圖片。所有連結替換為相對連結,所以可以隨便rewrite。絕對不會出現檔案覆蓋等問題。最NB的特點是,沒有比這更NB的庫了。SVN:http://svn.phpdr.net/repos/ares/php/library/trunk/lib/C
Time of Update: 2017-01-19
這個類相當好用.作用麼,PHP做JSON傳遞GBK字元,比如中文,日文,韓文神馬的Unicode最合適不過了..<?phpclasscoding{ //模仿JAVASCRIPT的ESCAPE和UNESCAPE函數的功能 functionunescape($str) { $text=preg_replace_callback("/%u[0-9A-Za-z]{4}/",array( &$this, 'toUtf8' ),$str);
Time of Update: 2017-01-19
PHP如何擷取FLV檔案時間呢,答案是fopen檔案後查看FLV檔案是HEX資料,並轉換為number。複製代碼 代碼如下:<?phpfunctionBigEndian2Int($byte_word,$signed=false){ $int_value =0; $byte_wordlen=strlen($byte_word);
Time of Update: 2017-01-19
發現之前有一個指令碼沒有寫完,簡單擴充了一下。擷取IP使用的是經典的邏輯,地理定位使用的是SINA的通用介面。使用方法詳見源碼:複製代碼 代碼如下:<?php/* * GET LOCATION BY SINA IP INTERFACE * * @SOULTEARY 2013.04.14 *
Time of Update: 2017-01-19
現在有太多方法去mock,不過當還是要串連到遠程伺服器上測試真正的返回的時候,如果機器上沒有跑node而且有php的話,用這貨來臨時mock一下,或許更輕鬆。複製代碼 代碼如下:<?php/** * Mock Json for Javascript * * @author soulteary * @date 2014-06-15 */ /** *
Time of Update: 2017-01-19
代碼比較多,但是比較簡單,一眼就看穿的,so,文字盡量少寫了。因為眾所周知的網路原因,gavatar也開始越來越慢,寫了一個小東西來解決這個問題,過程中遇到了get_headers這個函數,甚是憂傷,記錄下來,以免後來人踩坑。更新記錄,函數稍微改了一下,傳回值基本和之前序列化後的結果一致,暫時沒考慮支援子項也支援數組等(考慮細節效能,還想把沒用的http頭砍掉….)需求很簡單:擷取圖片的head資訊。偵錯工具的時候發現這個函數的調用很緩慢,即使綁定ip,有時候都能蹦到20多秒。尋思這個事情還是該
Time of Update: 2017-01-19
前幾天用PHP寫一個socket網路服務,在文檔裡看到socket_read和socket_recv這兩個方法時有點暈,乍一看這不是一樣的嘛,幹嗎還要給兩個不同的用法呢。看文檔沒看太明白,看了下源碼才搞清楚,在這裡記錄一下。先看一下這兩個函數的聲明:複製代碼 代碼如下:string socket_read ( resource $socket , int $length [, int $type = PHP_BINARY_READ ] )int socket_recv ( resource
Time of Update: 2017-01-19
最近發現,php運行自動載入類函數時總是逾時,跟蹤php慢查詢日誌,發現程式卡在了include某個類檔案時竟然逾時。 初步定位是io響應逾時,硬碟讀取有問題。 通過幾個命令來定位: iostat -d -x -k 1 10 // 運行10次查看iostat中wait參數很大,一般不超過5ms,await
Time of Update: 2017-01-19
使用PHP的cURL庫可以簡單和有效地去抓網頁。你只需要運行一個指令碼,然後分析一下你所抓取的網頁,然後就可以以程式的方式得到你想要的資料了。無論是你想從從一個連結上取部分資料,或是取一個XML檔案並把其匯入資料庫,那怕就是簡單的擷取網頁內容,cURL 是一個功能強大的PHP庫。PHP中的CURL函數庫(Client URL Library Function)複製代碼 代碼如下:curl_close — 關閉一個curl會話curl_copy_handle —
Time of Update: 2017-01-19
小數例子:PHP保留兩位小數並且四捨五入複製代碼 代碼如下:$n=0.1265489;echo sprintf("%.2f", $n); // 0.13大家可以看到我們用到了sprintf函數對$n進行了格式化%.2f是目標格式,其中2表示兩位f表示float(浮點型) 第3為小數6被四捨五入再看個例子複製代碼 代碼如下:$n=0.1265489echo substr(sprintf("%.3",$n),0,-1);//
Time of Update: 2017-01-19
在PHP中使用MVC越來越流行了,特別是在一些開源的架構當中。MVC足以應對大多數的情況,但還有一些情況是其不太適合的,如比較簡單的個人部落格,對於只有幾百篇文章量級的部落格,使用MVC讓人覺得有些太複雜了;同樣對於新浪等門戶網站,使用MVC,將有大量的檔案被載入,對於速度的影響是無法接受的。楓竹夢介紹MVC的基本原理及一種簡單的實現。如下介紹內容適用PHP開發。PHP中的MVCMVC[1]在軟體工程中是一種軟體的架構。從php的角度來講MVC有一些不同。Model(模型),程式應用功能的實現,
Time of Update: 2017-01-19
Php是一個非常流行的web服務端指令碼語言。其實,php不僅僅可以在web伺服器中充當重要角色。在命令列一樣可以執行。本文中,筆者為各位介紹下php在命令列中的使用方法。1、 查看php的版本、配置在命令列中輸入php –v 即可查看當前php的版本。其他的選項有: –m、-i。筆者在這裡就不給出列子了。-m 會顯示當前php載入的有效模組。-i 則輸出無html格式的phpinfo。使用 –ini 選項可以輸出當前php載入ini設定檔的數量、路徑資訊。2、