Time of Update: 2017-01-19
複製代碼 代碼如下: <?php header("Content-type: image/png,charset='utf-8'"); $im = imagecreatetruecolor(400, 30); //白色 $white = imagecolorallocate($im, 255, 255, 255); //紅色 $red = imagecolorallocate($im, 255, 0, 0); //黑色 $black=imagecolorallocate($im, 0, 0
Time of Update: 2017-01-19
PHP 資料類型 PHP 支援八種原始類型(type)。 四種標量類型: string(字串) integer(整型) float(浮點型,也作 double ) boolean(布爾型) 兩種複合類型: array(數組) object(對象) 兩種特殊類型: resource(資源) NULL(空) 查看變數類型 通過 gettype() 函數可以方便的查看某個變數的類型: 複製代碼 代碼如下: <?php$var_bool = TRUE; // a boolean$var_str =
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php$user=trim($_GET['user']);$d=$_GET['date'];if(!$d){ $d=date('Ymd',time()-86400*14);}if(empty($user)){ echo "例如:svn_log.php?user=wang&date=20130118"; exit;}$cmd='/usr/bin/svn log -v -r {'.$d.'}:"HEAD" --username 使用者名稱
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php$long="big_long_variable_name";$$long="PHP"; /* 用存放在變數$long裡的字串作為新變數的變數名,等同於$big_long_variable_name="PHP"; */$short=& $big_long_variable_name; /*
Time of Update: 2017-01-19
session
Time of Update: 2017-01-19
例如,下面WEB應用可能向登入使用者顯示敏感資訊:複製代碼 代碼如下:<?php$authenticated = FALSE;$authenticated = check_auth();if ($authenticated){ include
Time of Update: 2017-01-19
使用系統命令是一項危險的操作,尤其在你試圖使用遠端資料來構造要執行的命令時更是如此。如果使用了被汙染資料,命令注入漏洞就產生了。exec()是用於執行shell命令的函數。它返回執行並返回命令輸出的最後一行,但你可以指定一個數組作為第二個參數,這樣輸出的每一行都會作為一個元素存入數組。使用方式如下:複製代碼 代碼如下:<?php$last = exec('ls', $output, $return);print_r($output);echo "Return
Time of Update: 2017-01-19
SPL,PHP 標準庫(Standard PHP Library) ,此從 PHP 5.0 起內建的組件和介面,並且從 PHP5.3 已逐漸的成熟。SPL 其實在所有的 PHP5 開發環境中被內建,同時無需任何設定。似乎眾多的 PHP 開發人員基本沒有使用它,甚至聞所未聞。究其原因,可以追述到它那陽春白雪般的說明文檔,使你忽略了「它的存在」。SPL 這塊寶石猶如鐵達尼的「海洋之心」般,被沉入海底。而現在它應該被我們撈起,並將它穿戴在應有的位置 ,而這也是這篇文章所要表述的觀點。那麼,SPL
Time of Update: 2017-01-19
用PHP的ob_start();控制您的瀏覽器cacheOutput Control 函數可以讓你自由控制指令碼中資料的輸出。它非常地有用,特別是對於:當你想在資料已經輸出後,再輸出檔案頭的情況。輸出控制函數不對使用 header() 或 setcookie(), 發送的檔案頭資訊產生影響,只對那些類似於 echo() 和 PHP 代碼的資料區塊有作用。我們先舉一個簡單的例子,讓大家對Output Control有一個大致的印象:Example 1.程式碼複製代碼
Time of Update: 2017-01-19
從學習PHP基礎知識到使用ZendSudio工具開發有半年多了,這過程中,學習斷斷續續,遇到的問題也是N多,學習PHP還真是不讓人省心。最不省心的還是算調試過程。學習編程,一定要懂得調試,否則就如同盲人摸象,理不清這裡面的運行機制。也許是因為自己非科班出來,或是領悟力不足,又或本身xdebug工具本身設定較為複雜,導致我對Zendstudio的調試過程充滿了步步驚心。我使用的是XAMPP的整合開發平台環境。裡面已經預設了Xdebug的調試工具,只需要自己改下配置的就可以了。我的開發模式是,在虛擬
Time of Update: 2017-01-19
1、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。2、$row['id'] 的速度是$row[id]的7倍。3、echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字串串連,比如echo $str1,$str2。4、在執行for迴圈之前確定最大迴圈數,不要每迴圈一次都計算最大值,最好運用foreach代替。5、登出那些不用的變數尤其是大數組,以便釋放記憶體。6、盡量避免使用__get,__set,__autoload。7
Time of Update: 2017-01-19
PHP setcookie() 函數向用戶端發送一個 HTTP cookie。cookie 是由伺服器發送到瀏覽器的變數。cookie 通常是伺服器嵌入到使用者電腦中的小文字檔。每當電腦通過瀏覽器請求一個頁面,就會發送這個 cookie。cookie 的名稱指定為相同名稱的變數。例如,如果被發送的 cookie 名為 "name",會自動建立名為 $user 的變數,包含 cookie 的值。必須在任何其他輸出發送前對 cookie 進行賦值。如果成功,則該函數返回 true,否則返回
Time of Update: 2017-01-19
我們首先討論password_hash()函數。這將用作建立一個新的密碼的雜湊值。它包含三個參數:密碼、雜湊演算法、選項。前兩項為必須的。你可以根據下面的例子來使用這個函數:複製代碼 代碼如下:$password = 'foo';$hash =
Time of Update: 2017-01-19
spl_autoload_register(PHP 5 >= 5.1.2)spl_autoload_register — 註冊__autoload()函數說明bool spl_autoload_register ([ callback $autoload_function ] )將函數註冊到SPL
Time of Update: 2017-01-19
看代碼,再做解釋複製代碼 代碼如下:<?php $array=array('a','b','c','d'); foreach($array as $key=>$val){ //do something } echo $val;//輸出d echo $kay;//輸出3 $val='e'; print_r($array);//輸出Array ( [0] => a [1] => b [2] => c [3] => d ) ?&
Time of Update: 2017-01-19
引用是什麼在 PHP 中引用意味著用不同的名字訪問同一個變數內容。這並不像 C 的指標,替代的是,引用是符號表別名。注意在 PHP 中,變數名和變數內容是不一樣的,因此同樣的內容可以有不同的名字。最接近的比喻是 Unix 的檔案名稱和檔案本身——變數名是目錄條目,而變數內容則是檔案本身。引用可以被看作是 Unix 檔案系統中的 hardlink。一:變數的引用複製代碼 代碼如下:<?php$a =100;$b = &$a;echo $b; //這裡輸出1
Time of Update: 2017-01-19
在Mac OS上安裝redis首先是安裝,它會預設安裝到/usr/local/bin下複製代碼 代碼如下:cd /tmpwget http://redis.googlecode.com/files/redis-2.6.9.tar.gztar -zxf redis-2.6.9.tar.gzcd redis-2.6.9makesudo make install然後下載一些設定檔(主要就是把deamon開啟之類的,沒對比與預設配置的區別)複製代碼 代碼如下:wget
Time of Update: 2017-01-19
複製代碼 代碼如下:mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )是執行一個Regex的搜尋和替換的用函數,平時我們用它時多是一次替換結束,今天又看php手冊發現了一個較為難理解(自認為)的例子分享給大家。複製代碼 代碼如下:<?php $subject = array('1', 'a', '2',
Time of Update: 2017-01-19
看手冊說define定義的常量只允許:僅允許標量和 null。標量的類型是 integer, float,string 或者 boolean。 也能夠定義常量值的類型為 resource ,但並不推薦這麼做,可能會導致未知狀況的發生。今天閱讀php源碼,發現define的第二個參數其實也可以是一個對象。先貼一段樣本:複製代碼 代碼如下:class A { public function __toString()
Time of Update: 2017-01-19
伺服器環境:CentOS – 5.4php升級:5.4.14 - 5.5.0升級心得:比較順利,但是有一點需要說明:eaccelerator無法相容php5.5.0,好在php在5.5.0預設提供了Zend OPcache,所以一直習慣eaccelerator的朋友如果要升級到php5.5.0的話,可能要暫時和eaccelerator說bye