Time of Update: 2017-01-19
1、PHP中對各類變數內容的命名規範 (1)目錄命名、檔案命名、局部變數命名: 使用英文名詞、動詞,以底線作為單詞的分隔,所有字母均使用小寫 目錄:upload、templates、install、manage……檔案:index.php 、 register.php 、 config.php……變數:$user , $pay_time , $pay_del_cont …… (2)全域常量命名:使用英文名詞、動詞,所有字母都使用大寫,以底線分隔每個單詞 define( '
Time of Update: 2017-01-19
HTTP協議是一種無狀態協議,這意味著你對網站的每一個請求都是獨立的,而且因此無法通過它自身儲存資料。但這種簡單性也是它在互連網早期就廣泛傳播的原因之一。不過,它仍然有一種方法能讓你用cookies的形式來儲存請求之間的資訊。這種方法使你能夠更有效率的進行會話管理和鑑效組資料。有兩種處理cookies的方式—服務端(php,asp等)和用戶端(javascript).在這個教程中,我們將學習到以php和javascript這兩種方式如何去建立cookies。Cookies and
Time of Update: 2017-01-19
代碼很簡單,網上都能找到,但在我機子上就是顯示不出來,顯示出的一直是這個php檔案路徑,費了點時間才搞定,原來是我的<?php這個標籤前面有多的空格,刪掉就ok了,細節問題,粗心得很,真的很無語。網上查了下,有這樣一說:如果php以圖片,zip,exe等檔案輸出到瀏覽器,而前面還輸出了其他字元,那就會是你看到的亂碼。應該是輸出圖片前有輸出空格或其他字元造成的,可以檢查一下輸出圖片前有沒有其他字元,如果是utf-8編碼記得儲存為無BOM的檔案。相關代碼如下:複製代碼 代碼如下:class
Time of Update: 2017-01-19
APC簡介APC(Alternative PHP Cache)是一個PHP緩衝。它在記憶體中儲存PHP頁面並且減少了硬碟的I/O。這對於效能的提升十分明顯。你甚至可以在CPU使用率下降50%的情況下提升系統50%的效能。windows下安裝PHP的APC拓展注意:你不能在一天伺服器上同時安裝APC和Zend
Time of Update: 2017-01-19
之前每次遇到分頁,總是得自己寫,覺得挺繁瑣的,所以本著通用的原則,寫了一個分頁的方法,特此記錄。 目前此分頁支援靜態化地址分頁和無連結地址時的ajax分頁(但是js得自己寫): 支援的靜態地址如下:www.example.com/xxx-xxx-p1-xxxx-xx.html 其他形式靜態化需根據自己情況進行改寫 支援ajax方式分頁時,$link參數為空白,但提供了pid和optype,其中pid用於擷取該頁碼頁數,optype用於一個頁面存在多個分頁時區分當前觸發動作屬於哪個分頁邏輯
Time of Update: 2017-01-19
有25幅作品拿去投票,一次投票需要選16幅,單個作品一次投票只能選擇一次。前面有個程式員捅了漏子,忘了把投票入庫,有200個使用者產生的投票序列為空白。那麼你會如何填補這個漏子?當然向上級反映情況。但是我們這裡討論的是技術,就是需要產生1-25之間的16個不重複的隨機數,去填補。具體怎麼設計函數呢?將隨機數存入數組,再在數組中去除重複的值,即可產生一定數量的不重複隨機數。程式如下:複製代碼 代碼如下:<?php/** array unique_rand( int $min, int
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php ini_set("memory_limit", "50M");//必須的,根據你環境的實際情況盡量大,防止報錯 ini_set("max_execution_time", "100"); //file_exists() 函數檢查檔案或目錄是否存在,存在則返回 true,否則返回 false。 //fread() 函數讀取檔案(可安全用於二進位檔案)。fread() 從檔案指標 file 讀取最多 length 個位元組。 //filesize()
Time of Update: 2017-01-19
這段時間修改了一下我們系統的登陸功能,為了更加安全,增加了發送郵件驗證功能。當使用者登陸的時候判斷登陸ip是否是之前登陸過的,如果不是的話,需要向郵箱裡發送驗證碼,然後把收到的驗證碼輸入再登陸,如果驗證碼正確並且時間沒有超過規定時間,可以登陸,並且記下此次登陸的ip和時間,以後再以此ip登的話,就不用驗證了。如果時間超過了,驗證碼失效,需重新發送。驗證錯誤不能登陸,需重新輸驗證碼,或在發送新的驗證碼到郵箱。為了實現此功能,我用到了如何向郵箱發送郵件,以及擷取登陸ip的知識。下面整理一下,以便以後
Time of Update: 2017-01-19
複製代碼 代碼如下: $strsql = "INSERT INTO `xxx` (`aaa`) VALUES ('".$_POST["bbb"]."','".$_POST["ccc"]."',,now())"; $result=@mysql_query($strsql,$my_con); $maxrow=@mysql_affected_rows(); Testecho ($y.mysql_affected_rows()." $errcode ".$strsql); #debug
Time of Update: 2017-01-19
複製代碼 代碼如下: //通常用於定製服務的時候使用,比如包月會員,包年等等 //擷取目前時間過一個月的時間,以DATETIME格式顯示 date('Y-m-d H:i:s',strtotime('+1 month')) //擷取目前時間過一個月的時間,以時間戳記格式顯示 strtotime(date('Y-m-d H:i:s',strtotime('+1 month'))) //以下是年,月,周,天,時,分秒的用法 date("Y-m-d H:i:s", strtotime(" +2
Time of Update: 2017-01-19
在foreach中迴圈查詢資料代碼量比較少,但是效能比較低,好點的解決辦法是將id收集起來,用in一次性查詢,但是這引發了資料結構不是我們用PHP內建的函數可以合并的,今天測試了一下: 使用下面的位元組寫的函數可以解決 從資料庫中取出來的資料總是或多或少不符合我們心目中的資料結構,類似於下面的倆個數組,要形成SQL中類似於left join後兩個數組合并: 複製代碼 代碼如下: $test1 = Array( 0 => Array( 'id' => 9478137, 'create_
Time of Update: 2017-01-19
PHP中變數的範圍可以分為:超全域(全域變數的特殊類型,在局部範圍裡可直接使用),全域,局部,靜態(是局部變數的特殊類型)在PHP中,全域變數實際上是靜態全域變數,如果不用unset顯式的釋放,那麼等指令碼運行結束全域變數才會被釋放掉局部靜態變數細分可以是 局部靜態函數變數(函數中聲明的static變數),局部靜態成員變數(類中聲明的 static
Time of Update: 2017-01-19
一、檔案系統安全php如果具有root許可權,且在指令碼中允許使用者刪除檔案,那麼使用者提交資料,不進行過濾,就非常有可能刪除系統檔案<?php// 從使用者目錄中刪除指定的檔案$username = $_POST['user_submitted_name'];$userfile = $_POST['user_submitted_filename'];$homedir = "/home/$username";unlink ("$homedir/$userfile");echo "The
Time of Update: 2017-01-19
折騰VPS的朋友,在安裝好LNMP等Web運行環境後都會選擇一些緩衝擴充安裝以提高PHP運行速度,常被人介紹的有eAccelerator、memcached、xcache、Alternative PHP
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php /********************************************** * __construct 對象初始化函數使用 * destruct 解構函式的使用 * $this
Time of Update: 2017-01-19
1.首先是要安裝好PHP2.進入PHP的下載解壓目錄下的ext目錄#cd /root/php-5.3.6/ext#./ext_skel --extname=hmc說明:./ext_skel
Time of Update: 2017-01-19
goto操作符可以用來跳轉到程式中的某一指定位置。該目標位置可以用目標名稱加上冒號來標記。PHP中的goto有一定限制,只能在同一個檔案和範圍中跳轉,也就是說你無法跳出一個函數或類方法,也無法跳入到另一個函數。你也無法跳入到任何迴圈或者switch 結構中。常見的用法是用來跳出迴圈或者switch,可以代替多層的break。用法很簡單:goto後面帶上目標位置的標誌,在目標位置上用目標名加冒號標記,如下:複製代碼 代碼如下:<?phpgoto a;echo
Time of Update: 2017-01-19
在php程式中需要用到C代碼,應該是下面兩種情況:1 已有C代碼,在php程式中想直接用2
Time of Update: 2017-01-19
解決2個問題:1.身份證之類的文本資料自動轉為科學計數法的問題。2.中文亂碼的問題excel從web頁面上匯出的原理。當我們把這些資料發送到用戶端時,我們想讓用戶端程式(瀏覽器)以excel的格式讀取 它,所以把mime類型設為:application/vnd.ms-excel,當excel讀取檔案時會以每個cell的格式呈現資料,如果cell沒有規定的格式,則excel會以預設的格式去呈現該cell的資料。這樣就給我們提供了自訂資料格式的空間,當然我們必須使用excel支援的格式。
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php //類比sql資料 $array = array(0=>'apple',1=>'banana',2=>'cat',3=>'dog',4=>'egg','5'=>'father'); //function 用法1 //arr 是傳入的資料 $con 是條件 function f_1($arr,$con){ //這裡的 array 是這個函數內私人的,不會和出面的array衝突 //所以,外地面的