Time of Update: 2017-01-19
1、插入一條記錄$data = array('title' => 'My title' ,'name' => 'My Name' ,'date' => 'My date');$this->db->insert('mytable', $data);// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')2、插入多條記錄$data =
Time of Update: 2017-01-19
先說說switch()語句的格式switch(運算式){case 匹配1:當匹配1和運算式匹配成功執行的代碼;break;case 匹配2:當匹配2和運算式匹配成功執行的代碼;break;default:如果case語句沒有與運算式成功所執行的代碼;}理解 switch 是怎樣執行的非常重要。switch 語句一行接一行地執行(實際上是語句接語句)。開始時沒有代碼被執行。僅當一個 case 語句中的值和 switch 運算式的值匹配時 PHP 才開始執行語句,直到 switch
Time of Update: 2017-01-19
先來看個例子:需求為產生4位元,不足前面補0<?php //產生4位元,不足前面補0 $var=sprintf("%04d", 2);echo $var;//結果為0002 echo date('Y_m_d', time()).'_'.sprintf('d', rand(0,99));?>sprintf()函數有沒有感覺很像c語言1.
Time of Update: 2017-01-19
通常來說在php讀取大檔案的時候,我們採用的方法一般是一行行來講取,而不是一次性把檔案全部寫入記憶體中,這樣會導致php程式卡死,下面就給大家介紹這樣一個例子。讀取大檔案最後幾行資料:<?php/** * 取檔案最後$n行 * * @param string $filename 檔案路徑 * @param int $n 最後幾行 * @return mixed false表示有錯誤,成功則返回字串 */function FileLastLines($filename, $n){
Time of Update: 2017-01-19
function hex2rgb($hex) {$color = str_replace('#','',$hex);$rgb = array('r' => hexdec(substr($color,0,2)),'g' => hexdec(substr($color,2,2)),'b' => hexdec(substr($color,4,2)));return $rgb;} // www.jb51.netfunction rgb2cmyk($var1,$g=0,$b=0)
Time of Update: 2017-01-19
如果要在某個數組中刪除一個元素,可以直接用的unset,但是數組的索引不會重排:<?php $arr = array('a','b','c','d');unset($arr[1]);print_r($arr);?>結果是:Array ( [0] => a [2] => c [3] => d ) 那麼怎麼才能做到缺少的元素會被填補並且數組會被重新索引呢?答案是array_splice():<?php $arr = array('
Time of Update: 2017-01-19
在編程中查手冊是少不了的,所以要會學著使用已有的東西,就如PHP中的數組處理函數已經有排序函數了,為什麼還要在寫東西是費著勁去寫冒泡或者堆排或者快排呢。 編程是間接的過程,也是重用的過程,要寫出好的代碼是少不了設計模式來做支撐的,可能對初學者來說學習設計模式有些吃力(就像我當初看設計模式時,真是有點費勁),不過等你的代碼量有一定積累時,在研究設計模式時,感覺設計模式真的挺有用的,能協助你寫出漂亮的代碼。說著說著有點跑偏了,還是來總結一下php中對數組操作的常用函數吧。 以下總結的數組常用的函
Time of Update: 2017-01-19
error與exception的區別查閱網上資料大多是java的解釋,貌似php的異常處理過程與java差不多java中的Object繼承結構如下:Object---->Throwable--------> Exception ----> RuntimeException | ErrorError都是unchecked類型 Exception分為checked 與
Time of Update: 2017-01-19
當今很多常用的CMS系統都帶有安裝程式,為了使用者的使用方便,新下載的系統在使用前,都會判斷該CMS系統是否已經安裝過,若安裝了則就給出提示,不需要重複安裝,若未安裝則進入安裝介面,指導使用者按步驟順利安裝CMS,那麼基於PHP環境的CMS到底是如何用代碼來實現這種判斷機制呢?下面通過一個執行個體代碼加以說明:<?phpdefine("PHPOK_SET",true);define("APP_ID","www");//定義應用的根目錄!(這個不是系統的根目錄)本程式將應用目錄限制在
Time of Update: 2017-01-19
一般來說PHP中常使用file_exists()判斷某個檔案或者檔案夾是否存在,如果存在則返回true,否則返回false。但是該函數在網頁使用UTF8編碼的情況下,對於中文的檔案名稱或者檔案夾名不能返回正確值,始終返回false。經測試之後得出解決方案,分析造成這一情況的原因應該是編碼不同而導致的PHP不能正確判斷。下面這段代碼是不能夠返回正確值的代碼,無論檔案是否在都返回不在:<?php;$file="/attachment/21/0/中文.rar";$newfile =
Time of Update: 2017-01-19
本文完整描述了一個簡潔實用的PHP緩衝類,可用來檢查快取檔案是否在設定更新時間之內、清除快取檔案、根據當前動態檔案產生快取檔案名、連續建立目錄、快取檔案輸出靜態等功能。對於採用PHP開發CMS系統來說,離不開對緩衝的處理,合理利用好緩衝可有效提高程式執行效率。php緩衝類檔案完整代碼如下:<?php/** 緩衝類 cache*/class cache {//緩衝目錄var $cacheRoot = "./cache/";//緩衝更新時間秒數,0為不緩衝var
Time of Update: 2017-01-19
本文所述為一個實用的PHP多圖片檔案上傳類,其支援gif、jpg、jpeg、pjpeg、png格式的多圖片上傳功能,類中還可限制圖片類型、上傳圖片的大小、設定上傳目錄、一些提交判斷等功能。此外該類並不局限於圖片的上傳,也可以上傳TXT/RAR等檔案類型,只是需要對代碼進行一下修改,感興趣的讀者可以自己嘗試一下。php多圖片上傳類完整功能代碼如下:<?phpclass more_file_upload{ const FILE_PATH = '/uploadfile/';
Time of Update: 2017-01-19
本文的PHP程式用來判斷文章裡是否包含有圖片,其主要實現思路就是用preg_match來檢查內容裡是否有匹配的“<img”,拋開本文所述執行個體,我們還可以用preg_match來判斷很多東西,比如郵箱地址裡是否有“@”,判斷是否有手機號等等。廢話少說,下面是主要實現代碼:$url="http://XXXXX/article/012.html";$content=file_get_contents($url);
Time of Update: 2017-01-19
隨著當今行動裝置的普及,上網已經比過去更加方便。針對Android智能手機,iPhone/iPad等移動終端,很多網站都相繼推出了針對電腦和這類手機等行動裝置訪問的網頁。本文所述的執行個體代碼就可以實現根據這些行動裝置終端而自動跳轉到適合它們瀏覽的頁面。即判斷PC端或手機站智能端並跳轉。完整的執行個體代碼如下:<?php$agent = strtolower($_SERVER['HTTP_USER_AGENT']);$iphone = (strpos($agent,
Time of Update: 2017-01-19
我們經常可以看到一些網站上有圖片剪下的功能,或許你會覺得這一功能炫目華麗,神秘莫測!但是今天介紹的一款專用於圖片裁切的外掛程式jquery.Jcrop.min.js就將揭開圖片剪下的神秘面紗。使用這個外掛程式可以很方便的實現這一功能,使用時僅需滑鼠在圖片上圈選出選區,即可把圖片裁切成所選部分,非常適合用於頭像的裁切編輯功能。本執行個體示範分為HTML和php兩部分:第一部分,HTML代碼:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Time of Update: 2017-01-19
PHP自從5.3版以來就新增了一個叫做__invoke的魔術方法,使用該方法就可以在建立執行個體後,直接調用對象。如下樣本所示:class testClass{public function __invoke{print "hello world";}}$n = new testClass;$n();執行結果為:hello world。php官方樣本如下:class CallableClass{public function __invoke($x){var_dump($x);}}$obj =
Time of Update: 2017-01-19
一般來說網路通訊常用的方式有2種:文本通訊和二進位通訊。php與erlang之間實現文本通訊比較簡單,這裡就不做討論,本文主要討論的是php與erlang實現二進位通訊的實現方法。實現步驟如下:erlang端代碼:複製代碼 代碼如下:-module(server).-export([start/0]).-define( UINT, 32/unsigned-little-integer).-define( INT, 32/signed-little-integer).-define(
Time of Update: 2017-01-19
網上的很多類比登入程式,大都是通過服務程式apache之類的運行,擷取到驗證碼之後顯示在網頁上,然後填上再POST出去,這樣雖然看起來很友好,但是既然類比登入,登入後所乾的事情就不一定是短時間完成的,所以這就要受到php最大執行時間的限制,而且有些操作還有可能許可權不足。本文提供了一個程式執行個體,思路就是擷取到驗證碼之後把驗證碼儲存為一個圖片,然後程式休眠20秒,在20秒之後由使用者手動查看圖片,並把驗證碼填寫到code.txt檔案中,20秒休眠完成後,程式會讀code.txt的驗證碼,這樣再
Time of Update: 2017-01-19
很多開源系統如osCommerce架構中,都會在其源碼中找到use這個關鍵字,如osCommerce架構中就在index.php檔案中出現了這段源碼:use osCommerce\OM\Core\Autoloader;use osCommerce\OM\Core\OSCOM;其實,php的use關鍵字是自php5.3以上版本引入的。它的作用是給一個外部參考起別名。這是命名空間的一個重要特性,它同基於unix的檔案系統的為檔案或目錄建立串連標誌相類似。PHP命名空間支援三種別名方式(或者說引用):
Time of Update: 2017-01-19
php5.3.3以前php-fpm還沒有被php收錄,配置php基本都在php.ini裡面,php5.3.3及以後,除了在php.ini配置以外,還可以在php-fpm.conf裡面配置。多個地方都可以配置的話,就存在一個優先順序。php-fpm.conf優先順序比php.ini高。1,修改/etc/php-fpm.conf,或者,/etc/php-fpm.d/*.conf,或者,/usr/local/php/etc/php-fpm.conf; Set session path to a