Time of Update: 2016-07-21
在TP中,我們可以用下面兩種方法去建立一個資料表的映射對象(我暫時用到的) 第一種:$Test = D('Test') 第二種:$Test = new Model('Test') 雖然這兩種都可以對資料進行select,insert,delete,udpate操作,在資料驗證上有很大的不同, 我們來看看效果,先建立一個 TestModel 複製代碼 代碼如下: class TestModel extends Model{ protected $_validate = array{ array('
Time of Update: 2016-07-21
php函數有很多,需要時查詢api。 複製代碼 代碼如下: /* #數組 沒有限制大小:$arr[0]=1;$arr[1]=2; $arr=array("0","1");$list($num1,$num2)=$arr; array range(int low,int high[,int step]) low最小數,high最高數,step步長 int array_unshift(array array,mixed vari) 數組前面插入 array_push 數組尾添加
Time of Update: 2016-07-21
我們使用php擴充,主要目的是提高程式的執行效率,對於訪問量很大的代碼或者邏輯將其寫成擴充。在做項目的過程中,需要對資料進行排序,資料運算比較複雜;我們準備對一百萬個資料進行排序, 下面是我在程式之前做的一個測試:首先使用php程式產生一百萬的隨機數,並將其儲存在檔案中。 產生隨即數的代碼如下面所示: 複製代碼 代碼如下: set_time_limit(0); ini_set("memory_limit", -1); $data = array(); for($i = 1; $i
Time of Update: 2016-07-21
複製代碼 代碼如下: /*—————————————————— */ //– 擷取無限分類的列表資料 /*—————————————————— */ function get_sort ($parent_id=0,$n=-1) { global $db; static $sort_list = array (); $sql = "SELECT * FROM ".$db->table('article_sort')." WHERE `parent_id` = '{$parent_id}'";
Time of Update: 2016-07-21
在以前,一個使用者通過網路主要是擷取資訊。而如今的網路剛更注重與使用者的互動,使用者不再僅僅是網站的瀏覽者,也是網站內容的製造者。由以前單純的“讀”向“寫”以及“共同創作”發展,由被動接收資訊向主動分行資訊發展。而隨之而來的安全問題也成了web開發人員不可忽視的問題,驗證第三方來源的資料成了每個web程式必不可少的功能。
Time of Update: 2016-07-21
有同學問了一個問題: 複製代碼 代碼如下: for($i = 'A'; $i echo $i; } 輸出是啥? 輸出是: ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARAS……. 為啥? 其實很簡單, PHP的手冊中也有說明, 只不過恐怕很多人不會一章一節的把手冊仔細閱讀一遍: PHP follows Perl's convention when dealing with arithmetic operations
Time of Update: 2016-07-21
PHP的異常機制的原理是什麼? 在PHP每一個可獨立執行的op array最後的ZEND_HANDLE_EXCEPTION是用來幹什麼呢? 讓我們從一個問題說起, 上周的時候, blue5tar提了一個問題:”對於下面的代碼, onError明明執行了, 但是onException卻沒有執行, 為什麼?”. 複製代碼 代碼如下: function onError($errCode, $errMesg, $errFile, $errLine) { echo "Error Occurred\n";
Time of Update: 2016-07-21
複製代碼 代碼如下: $act = isset ($_GET['act']) ? trim ($_GET['act']) : "; if ($act == 'del') { $sort_id = isset ($_GET['id']) ? intval($_GET['id']) : '0' ; $sort_ids = $sort_id; $childrenIds = getChildrenIds ($sort_id); if (!empty ($childrenIds)) {
Time of Update: 2016-07-21
php面試題題目如下: 複製代碼 代碼如下: $a = 1; $x =&$a; $b=$a++; ?> 問: $b和$x的值分別是什嗎? php面試題的答案如下: $b = 1; $x = 2; 明白了嗎? 沒明白,再好好想想。
Time of Update: 2016-07-21
一、什麼是數組數組就是一組資料的集合,把一系列資料群組織起來,形成一個可操作的整體。數組的每個實體都包含兩項:鍵和值。二、聲明資料在PHP中聲明數組的方式主要有兩種:一是應用array()函式宣告數組,一是直接為數組元素賦值。飛飛Asp!技術樂園array()函式宣告的數組的方式array([mixed...])
Time of Update: 2016-07-21
php面試題的題目: $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //計算出 $b 相對於 $a 的相對路徑應該是 ../../c/d php面試題的答案: 複製代碼 代碼如下: function getRelative($a,$b) { $arr = explode("/",$a); $brr = explode("/",$b); $c = count($arr)-2; $d = count($brr)-2;
Time of Update: 2016-07-21
php面試題說明 : 例如:my name is fanglor =》 ym eman si orlgnaf php面試題的答案: 複製代碼 代碼如下: function restr ($str) { $str1 = explode (' ',$str); $str2 = ''; $temp = ''; for ($i=0;$i{ $str2 .= $temp.strrev ($str1[$i]); $temp = ' '; } return $str2; } 測試代碼: 複製代碼 代碼如下:
Time of Update: 2016-07-21
下面我講講關於這套系統的載入流程 定義根目錄,定義include目錄 載入核心檔案 設定檔'config.inc.php' 全域函數'global.func.php' 目錄操作函數'dir.func.php' url相關函數'url.func.php' 資料輸出相關類'output.class.php' 權限類別'priv_group.class.php' 時間處理類'times.class.php' 載入語言數組'phpcms.lang.php'
Time of Update: 2016-07-21
這就是今天討論的主要問題。PHP協助文檔裡面關於PHP通過header觸發下載的說明比較簡單,而網上關於此方面的文章也少的可憐,有很多文章都無法實現所需要的效果。今天我也來談一下這個方面的話題,如果你感覺比網上的某些文章有所改進,那我就很知足了。 如果從準確的角度來說,那PHP文檔是最準確的,因為它很簡練的列出了實現文本類檔案觸發下載所需要的三條語句,以PDF為例就是: 複製代碼 代碼如下: // We'll be outputting a PDF header('Content-type:
Time of Update: 2016-07-21
1.Memcache相關介紹 memcache是一個高效能的分布式的記憶體對象緩衝系統,它能夠用來儲存各種格式的資料,包括映像、視頻、檔案以及資料庫檢索的結果等。 使用Memcache的網站一般流量都是比較大的,為了緩解資料庫的壓力,讓Memcache作為一個快取區域,把部分資訊儲存在記憶體中,在前端能夠迅速的進行存取。 2.Memcache Win32的安裝 (1)下載地址: http://www.jehiah.cz/projects/memcached-win32/ (2)安裝步驟:
Time of Update: 2016-07-21
1、mysql_connect()-建立資料庫連接 格式: resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]]) 例: $conn = @mysql_connect("localhost", "username", "password") or die("不能串連到Mysql Server"); 說明:使用該串連必須顯示的關閉串連 2
Time of Update: 2016-07-21
函數的原理很簡單,主要就是用了一下遞迴調用。 複製代碼 代碼如下: function file_list($path){ if ($handle = opendir($path)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($path."/".$file)) { echo $path.":
Time of Update: 2016-07-21
公司有幾個網站搭在美國的虛擬機器主機上,伺服器上的mysql服務差不多每一天都會突然不知什麼時候掛掉,然後過一會又恢複了,懷疑是超出cpu的使用限制而被自動結束了,但是實際上該伺服器上的流量很小。於是早先的時候聯絡了伺服器供應商的印度阿三客服,想看看是不是其他使用者搞多了害的大家一起死,阿三們尋找了之後,信誓旦旦的拍著長毛的胸部保證不是他們的問題,事情沒有解決。懸著不是個事,只好自己查了,好在可以訪問到information_schema庫,看了看,沒話了,user_statistics裡面的資
Time of Update: 2016-07-21
下面是我對這個問題的解決過程,最後算是完全搞懂了,真是陰溝裡險些翻船 1.必須知道textarea中的分行符號是 \n (個人檢測發現按斷行符號鍵是\n,好像在linux下是\r\n) 2.用nl2br之前,請仔細看好手冊解釋,我就是搞鬱悶了,一般都理解為將\n轉換成,其實不是的: 看php手冊解釋: nl2br – Inserts HTML line breaks before all newlines in a string Returns string with ‘'
Time of Update: 2016-07-21
方法檔案 session實現檔案:memcachedsession.php 實現原理(也是PHP內部session的實現原理): 1.先判斷用戶端有沒有sessionid, a.沒有就添加一個sessionid給用戶端,通常是32位hash碼,同時初始化一個數組做session容器 b.如果用戶端有sessionid,則利用這個sessionid去memcached裡面查資料。 2.使用者在頁面執行過程中可以自行修改session容器裡的session值