前幾天用PHP寫一個socket網路服務,在文檔裡看到socket_read和socket_recv這兩個方法時有點暈,乍一看這不是一樣的嘛,幹嗎還要給兩個不同的用法呢。看文檔沒看太明白,看了下源碼才搞清楚,在這裡記錄一下。先看一下這兩個函數的聲明:複製代碼 代碼如下:string socket_read ( resource $socket , int $length [, int $type = PHP_BINARY_READ ] )int socket_recv ( resource
關於程式開發中的表單批量提交策略很多時候一個表單太多的欄位,如何能夠高效擷取表單欄位,也為如何提神開發的效率和統一性?比如一個系統的某個有26個欄位,那麼我用表單的名稱用26個a到z的字母,你是選擇 <input type="text" name="a">,<input type="text" name="a">,……,<input type="text"
大概需求:每一個訂單都有多個檔案附件,在下載的時候希望對當前訂單的檔案自動打包成一個壓縮包下載細節需求:當前訂單號_年月日+時間.zip 例如:1.產生壓縮檔,壓縮檔名格式:2.壓縮檔存放在根目錄
最近發現,php運行自動載入類函數時總是逾時,跟蹤php慢查詢日誌,發現程式卡在了include某個類檔案時竟然逾時。 初步定位是io響應逾時,硬碟讀取有問題。 通過幾個命令來定位: iostat -d -x -k 1 10 // 運行10次查看iostat中wait參數很大,一般不超過5ms,await
使用PHP的cURL庫可以簡單和有效地去抓網頁。你只需要運行一個指令碼,然後分析一下你所抓取的網頁,然後就可以以程式的方式得到你想要的資料了。無論是你想從從一個連結上取部分資料,或是取一個XML檔案並把其匯入資料庫,那怕就是簡單的擷取網頁內容,cURL 是一個功能強大的PHP庫。PHP中的CURL函數庫(Client URL Library Function)複製代碼 代碼如下:curl_close — 關閉一個curl會話curl_copy_handle —
今天有一個哥們問我這個問題,問題是這樣的他有一個iis的伺服器,要定時執行一個掃描的php指令碼,這個怎麼弄,每小時執行一次,下面是windows的設定1)在控制台中雙擊任務計劃,開啟了Windows任務計劃視窗。2)雙擊新增工作,開啟任務計劃嚮導。點擊下一步。3)點擊瀏覽,選擇要啟動並執行程式4 ) 輸入計劃名稱,選擇 每天5)設定起始時間、選擇每天、起始日期。下一步。6)輸入密碼,該密碼是該系統的使用者名稱(用 預設
小數例子: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);//
在PHP中使用MVC越來越流行了,特別是在一些開源的架構當中。MVC足以應對大多數的情況,但還有一些情況是其不太適合的,如比較簡單的個人部落格,對於只有幾百篇文章量級的部落格,使用MVC讓人覺得有些太複雜了;同樣對於新浪等門戶網站,使用MVC,將有大量的檔案被載入,對於速度的影響是無法接受的。楓竹夢介紹MVC的基本原理及一種簡單的實現。如下介紹內容適用PHP開發。PHP中的MVCMVC[1]在軟體工程中是一種軟體的架構。從php的角度來講MVC有一些不同。Model(模型),程式應用功能的實現,
許多同學在第一次使用curl的時候感覺一個頭兩個大(包括我在內),看著這一條條的curl_setopt函數完全摸不著頭腦,不過在你花10分鐘看了我的介紹後相信你以後也能輕鬆戲耍php的curl了首先,請看一個curl代碼(花10秒鐘,略看一遍,然後跳到後文)複製代碼 代碼如下:<?php $data = "<soap:Envelope>[...]</soap:Envelope>"; $tuCurl = curl_init();
Php是一個非常流行的web服務端指令碼語言。其實,php不僅僅可以在web伺服器中充當重要角色。在命令列一樣可以執行。本文中,筆者為各位介紹下php在命令列中的使用方法。1、 查看php的版本、配置在命令列中輸入php –v 即可查看當前php的版本。其他的選項有: –m、-i。筆者在這裡就不給出列子了。-m 會顯示當前php載入的有效模組。-i 則輸出無html格式的phpinfo。使用 –ini 選項可以輸出當前php載入ini設定檔的數量、路徑資訊。2、
今晚開放ecmall商城的QQ登陸功能,在回調時產生錯誤,file_get_contents函數執行時,沒有抓取到正確的資訊,於是改用curl,但是提示認證錯誤。在網上找到瞭解決方法,就是去掉認證認證。複製代碼 代碼如下:curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);該種方法可行。網上還有另外一種說法,就是使用複製代碼
一:PHP本身的SOAP所有的webservice都包括服務端(server)和用戶端(client)。要使用php本身的soap首先要把該拓展安裝好並且啟用。下面看具體的code首先這是服務端實現:複製代碼 代碼如下:<?php class test { function show()
把php上傳檔案時經常碰到的幾個問題總結一下吧,以後用到時不用再去找了。1.先做個最簡單的上傳檔案複製代碼 代碼如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <form action="upload_file.php"
修飾模式(Decorator Pattern),又叫裝飾者模式,是物件導向編程領域中,一種動態地往一個類中添加新的行為的設計模式。就功能而言,修飾模式相比產生子類更為靈活,這樣可以給某個對象而不是整個類添加一些功能。裝飾模式非常適用於靈活擴充項物件的功能,下面是裝飾模式的UML圖:例如,有一個技術論壇,使用者通過留言進行溝通,由於剛開始論壇裡都是熟人,幾乎都不需要對留言的內容作出審核,接收留言的頁面可以是這樣:class SaveMsg(){ private $msg; public
最近的項目在處理資金這一塊的功能,對人民幣金額的格式化輸出是必不可少的功能。這個功能比較獨立而且還比較福士化,所以封裝成了函數就發上去也算是方便大家。複製代碼 代碼如下:/** * 格式化金額 * * @param int $money * @param int $len * @param string $sign * @return string */function format_money($money, $len=2,
關於產生訂單號的解決方案電子商務及類電子商務的系統越來越多,我相信訂單號問題是這類系統中最常見不過的一個問題了,但今天還是想談談。這幾天由於工作需要接手了另外一同事前期開發的一個交易系統,原本使用的是uniqid()函數產生的。理論上也是不會出現重複,但由於一些特殊的原因,不得不重新製作一款訂單號的產生函數複製代碼 代碼如下:/** * 產生唯一的訂單號 20110809111259232312 *
對於一個一維的php數組,如何清除其中值為空白的元素呢?直接的辦法是foreach迴圈一下,一個個判斷排除。不過這個方法還是略顯複雜,下面分享一下今天看到的一個方法,非常簡潔複製代碼 代碼如下:/** * 方法庫-數組去除空值 * @param string $num 數值 * @return string */public function array_remove_empty(&$arr, $trim = true)
經常看到有新手問PHP有沒有類似asp的left函數或right函數,實現截取某字串左邊或右邊開始N個字元的函數。答案當然是有的。PHP中的substr函數就可以做的到,只不過PHP把二個函數合二為一了,這裡再給大家分享一個更加優秀的截取字串的函數。複製代碼 代碼如下:/** * 方法庫-截取字串-【該函數作者未知】 * @param string $string 字串
非常簡單實用的函數,這裡就不多廢話了,直接奉上代碼複製代碼 代碼如下:/** * 日期-擷取當月最後一天 * @return int */ public function get_lastday()
1.先做個最簡單的上傳檔案複製代碼 代碼如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <form action="upload_file.php"