Time of Update: 2016-07-29
假設現在有一個圖片檔案,它的伺服器端路徑為: $path = "/www/mywebsite/images/myphoto.jpg"; 1.pathinfo()函數 pathinfo()函數返回的是一個包含了檔案資訊的數組,數組中有四個元素,分別是dirname、basename、extension、filename。列印數組的代碼: 複製代碼 代碼如下:$fileArr = pathinfo($path); print_r($fileArr); //輸出結果:Array ( [dirname]
Time of Update: 2016-07-29
複製代碼 代碼如下:/** 擷取網卡的MAC地址原碼;目前支援WIN/LINUX系統 擷取機器網卡的物理(MAC)地址 **/ class GetMacAddr{ var $return_array = array(); // 返回帶有MAC地址的字串數組 var $mac_addr; function GetMacAddr($os_type){ switch ( strtolower($os_type) ){ case "linux": $this->forLinux(); break;
Time of Update: 2016-07-29
複製代碼 代碼如下:-- ACL Tables -- 表的結構 `aclresources` DROP TABLE IF EXISTS `aclresources`; CREATE TABLE IF NOT EXISTS `aclresources` ( `rsid` varchar(64) NOT NULL , `access` int(4) NOT NULL default 0, `desc` varchar(240) NOT NULL default '', `created_at`
Time of Update: 2016-07-29
一、 基礎知識 本章簡要介紹一些Zend引擎的內部機制,這些知識和Extensions密切相關,同時也可以協助我們寫出更加高效的PHP代碼。 1.1 PHP變數的儲存 1.1.1 zval結構 Zend使用zval結構來儲存PHP變數的值,該結構如下所示: 複製代碼 代碼如下:typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct {
Time of Update: 2016-07-29
這看起來更加人性化,好吧,上代碼 複製代碼 代碼如下:class timeAgo { static $timeagoObject; private $rustle; private $unit; private function __construct() { } private function __clone(){ } public static function getObject() { if(! (self::$timeagoObject instanceof self) )
Time of Update: 2016-07-29
寫了一個測試mysql的php檔案如下: 複製代碼 代碼如下:$link=mysql_connect('localhost','root','root'); if(!$link) echo "失敗!"; else echo "成功!"; mysql_close(); ?> 結果報錯誤:Fatal error: Call to undefined function
Time of Update: 2016-07-29
一般我們會這樣寫: 複製代碼 代碼如下:if($_GET['time']==null) { $time = time(); } else { $time = $_GET['time']; } echo $time; //如果GET有time這個值則帶入變數time,如果沒有就帶現在time()時間 ?> 如果只單簡單的判斷,照上面這樣寫就太麻煩了,而且效能也不高! 可以改成使用三元一次式: 複製代碼 代碼如下:$time = ($_GET['time']==null) ? (time()) :
Time of Update: 2016-07-29
ISSET();——適合於檢測是否存在這個參數。 定義和作用範圍:用於測試一個變數是否具有值(包括0,FALSE,或者一個空字串,但不能是NULL),即:“http://localhost/?fo=”也是可以通過檢測,因此不適用。但如果是“http://localhost/”參數中並不含fo參數,就可以用isset來檢測,此時isset($_GET['fo'])返回false。 不適用於:該函數不適合於驗證html表單中的文本的有效方式。要檢查使用者輸入文本是否有效,可以用empty();
Time of Update: 2016-07-29
複製代碼 代碼如下:header("content-Type: text/html; charset=gb2312"); $uptypes=array('image/jpg', //上傳檔案類型列表 'image/jpeg', 'image/png', 'image/pjpeg', 'image/gif', 'image/bmp', 'application/x-shockwave-flash', 'image/x-png', 'application/msword', 'audio/x-ms-
Time of Update: 2016-07-29
複製代碼 代碼如下:/** * Sort an two-dimension array by some level two items use array_multisort() function. * * sysSortArray($Array,"Key1","SORT_ASC","SORT_RETULAR","Key2"……) * @author Chunsheng Wang * @param array $ArrayData the array to sort. * @param
Time of Update: 2016-07-29
文字框的用法: 其中input類型包括text、password等類型,HTML5新增了很多的input類型,如果想學習這類的知識可以很好的瞭解一下,因為分的越細,用的越方便。 看看本執行個體的功能 填入表單提交後:實現代碼: 複製代碼 代碼如下: if(!isset($_POST['submit'])) return ; if($_POST['submit']=='submit'){ $username = $_POST['username']; $password =
Time of Update: 2016-07-29
所以就懷疑是否編碼問題,或者檔案許可權問題,或者是不是函數不支援問題,經過排查發現原來是萬網的L1主機不支援fsockopen,在檔案uc_client/client.php中的uc_fopen中出現了問題,這裡的代碼是這樣: 複製代碼 代碼如下:function uc_fopen($url, $limit = 0, $post = '', $cookie = '', $bysocket = FALSE, $ip = '', $timeout = 15, $block = TRUE) {
Time of Update: 2016-07-29
如微博 這看起來更加人性化,好吧,上代碼 複製代碼 代碼如下:class timeAgo { static $timeagoObject; private $rustle; private $unit; private function __construct() { } private function __clone(){ } public static function getObject() { if(! (self::$timeagoObject instanceof self) )
Time of Update: 2016-07-29
複製代碼 代碼如下:function ce_getmac() { if(PHP_OS == 'WINNT') { $return_array = array(); $temp_array = array(); $mac_addr = ""; @exec("arp -a",$return_array); foreach($return_array as $value) { if(strpos($value,$_SERVER["HTTP_CLIENT_IP"]) !== false && preg_
Time of Update: 2016-07-29
所以根據EOF就可判斷一次請求的結束,下面的代碼(PHP)很常見: 複製代碼 代碼如下:// $fp是由fsockopen()產生的控制代碼 while(!feof($fp)) { echo fgets($fp); } (註:短串連模式是在頭部用”Connection: close”標示,長串連用”Connection: keep-alive”標示。目前HTTP/1.0預設使用短串連,HTTP/1.1預設使用長串連。)
Time of Update: 2016-07-29
一.字串插入為了給開發人員處理字串值提供最大的靈活性,PHP 為字面插入和內容插入提供了 一種方法。 雙引號提供了最大的靈活性,原因是變數和轉移序列都會得到相應的解析。 複製代碼 代碼如下:$userName = "張三"; echo "His name is $userName "; echo ""; //中文會出現一些問題 echo "他的名字叫$userName ,他19歲了,已經長大成人了!"; echo ""; //可以採用字串串連的方式解決 echo
Time of Update: 2016-07-29
然而有一種情況,是防止不了的: 使用者提交表單以後,點擊瀏覽器後退按鈕返回表單頁面,這個時候瀏覽器會直接從緩衝中取出頁面,因此token驗證一定是通不過的。網上有許多種辦法可以繞過這個問題,比如用location.replace()方法來替換當前記錄,但是這樣仍然有瑕疵。極端的情況,若使用者在頁面間切換多次,那麼多點幾次後退按鈕很可能又回到了上一個表單頁面。解決辦法是在http頭中設定Cache-Control: no-cache, no-store。然而我嘗試了無論是在頁面head中添加
Time of Update: 2016-07-29
round round - 對浮點數進行四捨五入。round 函數文法如下: round(float,precision) 其中參數 precision 表示小數點後面要保持的精度位元。如果不寫參數 precision,表示四捨五入到整數位,比如: echo round(3.4); // 3echo round(3.5); // 4echo round(3.6); // 4 如果 precision 為2,表示四捨五入到小數點後2位。樣本如下: echo round(1.95583, 2); /
Time of Update: 2016-07-29
方法 bindParam() 和 bindValue() 非常相似。 唯一的區別就是前者使用一個PHP變數綁定參數,而後者使用一個值。 所以使用bindParam是第二個參數只能用變數名,而不能用變數值,而bindValue至可以使用具體值。 複製代碼 代碼如下:$stm = $pdo->prepare("select * from users where user = :user"); $user = "jack"; //正確 $stm->bindParam(":user",$user); /
Time of Update: 2016-07-29
在大部份情況下我們的網站都會使用資料庫作為網站資料存放區的容器。當你執行一個SQL查詢時,典型的處理過程是:串連資料庫->準備 SQL查詢->發送查詢到資料庫->取得資料庫返回結果->關閉資料庫連接。但資料庫中有些資料是完全靜態或不太經常變動的,緩衝系統會通過把SQL查詢的結果緩衝到一個更快的儲存系統中儲存,從而避免頻繁操作資料庫而很大程度上提高了程式執行時間,而且緩衝查詢結果也允許你後期處理。 普遍使用的PHP緩衝技術 PHP緩衝技術之資料緩衝: 這裡所說的資料緩衝是指資料庫查詢快取,