Time of Update: 2016-06-23
header("Content-type: text/html; charset=gb2312"); $CookieFile=tempnam("./tmep","beast"); if(isset($_GET["img"])){ $url = 'http://jwc.wyu.edu.cn/student/rndnum.asp';//驗證碼code $ch = curl_init($url); curl_setopt($ch,CURLOPT_COOKIEJAR,
Time of Update: 2016-06-23
論壇每個版塊在資料庫中對應一條記錄,其中一個欄位(posts)用來統計該版塊發帖數量,請問這個posts欄位該如何維護呢? 1 如果使用者發帖/刪帖的時候更新該欄位,即發帖posts=posts+1,刪帖posts=posts-1,並發的時候該如何保證資料的正確呢? 2 如果不用上述的方法,怎樣處理更好呢? 回複討論(解決方案) 一般的論壇有刪帖許可權的應該是版主和管理員吧。。 對同一個表的同一條記錄,任何時刻都只會執行一條指令。
Time of Update: 2016-06-23
一直糾結PHP中統計數組長度函數count(),還有strlen是怎麼的,它的效率是O(1)還是O(n)呢?最近看PHP源碼,總結了下。分析如下: zend給php的所有變數都用共用體的方式去儲存,而字串的儲存和數組的儲存也是不同的,數組採用的是hash表的方式去儲存。PHP的變數共用體描述如下 /* * zval */ typedef struct _zval_struct zval; typedef union _zvalue_value { long lval; /*
Time of Update: 2016-06-23
添加資料頁面 用ajax 請求一個html 頁面中包含一個input(name="aa")框到該頁面,然後點擊該頁面的提交資料, 被ajax請求過來的input也同時被提交過去了 ,但是現在在修改資料頁面中 也是同樣的 ajax請求的是同一個頁面,但 是 點確定的時候被ajax請求過來的input框中 value 就無法擷取了 這是為什嗎? 回複討論(解決方案) 顯然是代碼寫錯了 代碼 應該沒問題的,我直接 print_r($_POST);exit()
Time of Update: 2016-06-23
因為php是一個指令碼語言,因此它的過度的靈活性,會導致它在解析的時候會產生歧義,一般來說我們是要避免這些歧義的,這裡來小小的舉一個例子吧,朋友們不妨看看下面的代碼會輸出什麼: ";echo "{$var}_$var_"; 對於上面的代碼,第一個echo永遠會輸出"worldworld",因為它在解析的時候不會單獨的解析$var,而是解析成為$var_,而後面的則會解析成為hello_world,也就是說我們用花括弧強制改變了它的優先順序。
Time of Update: 2016-06-23
$f = file('words.txt');$words = array();foreach ($f as $w) {$words[] = preg_quote(trim($w), '/');}$text = file_get_contents('text.txt');$start = microtime(true);$reg = '/' . implode('|', $words) . '/S';preg_match_all($reg, $text, $m);$result = array(
Time of Update: 2016-06-23
$id = date('YmdHis') . mt_rand(1000, 9999); @unlink('pages/showbbs-' . $bbsId .'.html'); if ($adminDB->executeSQL("insert into tb_reply(id, content, addtime, bbs_id) values('$id', '".$_POST['content']."', '".date('Y-m-d H:i:s')."', '$bbsId')"
Time of Update: 2016-06-23
首先需要確定系統中安裝了gcc編譯器,合適版本的bison等,下面是從源碼編譯安裝PHP需要執行的基本命令: # cd php-src# ./buildconf# ./configure --enable-debug --enable-maintainer-zts --enable-cli# make# make install 構建一個基本的擴充骨架 在PHP擴充開發時,使用ext_skel完成擴充的結構骨架建立。 $ ./ext_skel./ext_skel
Time of Update: 2016-06-23
最近遇到一個項目需求是文字轉語音功能,請問下各位大神,php裡有沒有這樣的功能 PC端。 回複討論(解決方案) PHP沒有 你得找第三方介面 這裡 有個解決方案 http://www.hcicloud.com/products/show/forward/tts 這裡 有個解決方案 http://www.hcicloud.com/products/show/forward/tts
Time of Update: 2016-06-23
寫項目時用到目前時間,用time()擷取到的時間戳記經過date()函數轉化的時間與當時時間差了6個小時,修改php.ini檔案,如下: 發現並沒有成功修改時間,最後開啟httpd-conf,修改phptimezone,如下: 結果就可以了,原來只在php.ini中修改是沒用的,要在apache的設定檔中修改才行。 最後查看phpinfo,看到defaulttimezone一項是PRC才算可以了。 著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Time of Update: 2016-06-23
在前兩篇單例模式和原廠模式後,終於迎來了最後一個基礎的設計模式--註冊樹模式。 什麼是註冊樹模式? 註冊樹模式當然也叫註冊模式,註冊器模式。之所以我在這裡矯情一下它的名稱,是因為我感覺註冊樹這個名稱更容易讓人理解。像前兩篇一樣,我們這篇依舊是從名字入手。註冊樹模式通過將對象執行個體註冊到一棵全域的對象樹上,需要的時候從對象樹上採摘的模式設計方法。
Time of Update: 2016-06-23
算術運算子 運算子 描述 + - * / 除法運算子總是返回浮點數。只有在下列情況例外:兩個運算元都是整數(或字串轉換成的整數)並且正好能整除,這時它返回一個整數。 % 模數運算子的運算元在運算之前都會轉換成整數(除去小數部分)。模數運算子 % 的結果和被除數的符號(加號或減號)相同。即 a b 的結果和 $
Time of Update: 2016-06-23
if if () { statement;} else if { statement;} elseif { statement;} else { statement;} else if和elseif句法分析的含義有少許區別,但是底線是兩者會產生完全一樣的行為 迴圈 while () { statement;}do { statement;} while();for (;;) { statement;}foreach (as) {
Time of Update: 2016-06-23
1.擷取指定目錄下所有檔案,包括子檔案夾下檔案,使用到遞迴 function get_all_file($dir){$files = scandir($dir);foreach($files as $file){if($file == '.' || $file == '..') continue;if(is_file($dir.'/'.$file)){$res[] = $file;continue;}foreach(get_all_file($dir.'/'.$file) as $ff){
Time of Update: 2016-06-23
XHProf是facebook 開發的一個測試php效能的擴充,本文記錄了在PHP應用中使用XHProf對PHP進行效能最佳化,尋找效能瓶頸的方法。 安裝Xhprof擴充 $ wget http://pecl.php.net/get/xhprof-0.9.4.tgz$ tar -zxvf xhprof-0.9.4.tgz $ cd xhprof-0.9.4$ cd extension/$ phpize$ ./configure$ make$ sudo make install 修改php.
Time of Update: 2016-06-23
1. Docker Docker的官方定義是: Docker allows you to package an application with all of its dependencies into a standardized unit for software development. -- https://www.docker.com/whatisdocker 毫無疑問的是,Docker解決了應用部署上一個巨大的問題: 客戶: 安裝好了,用不了。 發行者:我的機器上沒問題。
Time of Update: 2016-06-23
學習寫代碼的時候發現修改資料的時候如果mysql裡邊沒有的 用update修改的會也會返回執行成功 這個時候該怎麼辦 要先用sql查詢判斷資料是否存在嗎? 回複討論(解決方案) 執行更新後,使用 mysql_affected_rows 會返回改變了記錄的條數。 可通過這個來判斷更新是否有執行。 執行更新後,使用 mysql_affected_rows 會返回改變了記錄的條數。 可通過這個來判斷更新是否有執行。 大俠可以具體講一下用什麼代碼嗎
Time of Update: 2016-06-23
第一,何謂推送技術 隨著人們對web越來越熟悉,人們希望web應用可以像本地應用一樣可以即時的接收訊息,於是也就有了所謂的"推送技術"。也就是我們所說的Server Push,也就是"伺服器推技術",它的典型範例就是聊天、訊息提醒、交友網站中使用比較頻繁,成為即時應用中的一個熱點問題。 第二,傳統實現(拉取技術)
Time of Update: 2016-06-23
PHP 可以通過pcntl 擴充實現多進程編程, 而網上關於如何通過pcntl 建立多進程的在這裡就不表了, 我主要說說關於pcntl_fork的一個坑和相關的比較生僻的幾個函數的使用方式, 這也是通過挖坑和填坑得出的結論。閑言碎語不要講, 直接開始 pcntl_fork 在實踐中, 我在使用php進行多進程實踐的模型大概如下, 期待的是每個子進程都能建立一個與之對應檔案, 最後父進程建立一個屬於父進程的檔案,代碼如下(有坑): $pid_dir =
Time of Update: 2016-06-23
CURLOPT_postfields 和 CURLOPT_httpheader 一,CURLOPT_HTTPHEADER :設定一個header中傳輸內容的數組。 curl_setopt($ch, CURLOPT_HTTPHEADER, array("Range: Bytes=0-50\nOtherheader: stuff\n")); curl_setopt($ch, CURLOPT_HTTPHEADER,array("Host: act.*.qq.com"));