例如,員工管理應用程式可能包括一個EmPloyee 類。然後可以用這個類來建立和維護特定執行個體,比如Gonn和Sally。 根據預定義的類建立對象常稱為類的執行個體化(class instantiation)。 對象使用new關鍵字建立,如下: 複製代碼 代碼如下: $employee = new Employee(); 建立對象之後,這個剛執行個體化的對象就具有了類中定義的所有性質和行為。 如何執行個體化對象
例如,一個交通工具可以定義有顏色、輪胎數、製造商、型號和容量等性質,並定義有停止、前進、轉彎和鳴笛等行為。在OOP術語中,實體的性質和行為的具體定義稱為類(class)。 類的定義與建立 類是具有相同屬性和服務的一組對象的集合。它為屬於該類的所有對象提供了統一的抽象描述,其內部包括屬性和方法兩個主要部分。在物件導向的程式設計語言中,類是一個獨立的程式單位,它應該有一個類名並包括屬性說明和方法說明兩個主要部分。 類用於表示要在應用程式中處理的實際事物。例如,假設要建立一個管理公用圖書館的應用程式,
但是, 這樣做, 就沒辦法做一些統計, 許可權檢查, 等等的工作. 於是, 很多時候, 我們採用讓PHP來做轉寄, 為使用者提供檔案下載. 複製代碼 代碼如下: <?php $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-stream"); header('Content-Disposition: attachment; filename="' . basename($file) . '"');
總結: 使用PHP下載檔案的操作需要給出四個header(),可以參考我的另一篇博文:PHP如何?下載功能超詳細流程分析 計算檔案的大小的時候,並不需要先開啟檔案,通過filesize($filename)就可以看出,如果需要先開啟檔案的話,filesize可能就會是這樣的形式了filesize($filehandle)
定義頂級異常處理器用到的函數是 set_exception_handler("My_exception"); 這裡的My_expection是開發人員自訂的異常處理函數,既頂級異常處理器,只有當程式中沒有函數來處理異常才有頂級異常處理器來處理異常,如果沒有定義頂級異常處理器,則由系統預設的異常處理器來處理異常 舉例說明: 複製代碼 代碼如下: <meta http-equiv="content-type" content="text/html;charset=utf-8"
1、與mysql相關 mysql_connect 建立一個與MySQL伺服器的串連 文法 resource mysql_connect(string server[,string usingname[,string password[, bool new_link[,int client_flags]]]]) eg: 複製代碼 代碼如下: $DB_HOST ="localhost"; $DB_LOGIN ="root"; $DB_PASSWORD =" 123456"; $conn=mysql_
例如: SQL注入攻擊 XSS攻擊 複製代碼 代碼如下: 任意執行代碼 檔案包含以及CSRF. } 關於SQL攻擊有很多文章還有各種防注入指令碼,但是都不能解決SQL注入的根本問題 見代碼: 複製代碼 代碼如下: <?php mysql_connect("localhost","root","123456")or die("資料庫連接失敗!"); mysql_select_db("test1"); $user=$_post['uid']; $pwd=$_POST['pass']; if(
複製代碼 代碼如下: <?php /** * 逆序二維數組插入一元素 * * @author WadeYu * @date 2012-05-30 */ $aSorted = array( array(1, 100), array(2, 90), array(3, 80), array(4, 70), array(5, 60), array(6, 50), array(7, 40), array(8, 40), array(9, 40), array(10, 20), );
複製代碼 代碼如下: <?php /** * PHP 年齡計算函數 * * 參數支援數組傳參和標準的 Mysql date 類型傳參 * params sample * -------------------------------------------------- $birthArr = array( 'year' => '2000', 'month' => '11', 'day' => '3' ); $birthStr = '2000-11-03'; * ----
複製代碼 代碼如下: <? function my_addslashes($string, $force = 0) { !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); if(!MAGIC_QUOTES_GPC || $force) { if(is_array($string)) { foreach($string as $key => $val) {
說明: 1,在伺服器緩衝了壓縮過的檔案,再次訪問減少再壓縮時間,降低CPU佔用率。 2,通過設定用戶端檔案快取時間,降低再次請求次數,可降低85%以上。 3,圖片因為已經是壓縮格式,只是設定用戶端緩衝時間,不做壓縮處理。 使用方法: 1,伺服器必須支援gzip,Rewrite功能。 2,在.htacess檔案的“RewriteBase /”下面一行添加下面的代碼,見圖 RewriteRule (.*.css$|.*.js$|.*.jpg$|.*.gif$|.*.png$) gzip.php?$1
先說說,這個機制的用途吧,到現在為止戰地知道這個機制有兩個方面的用途: 首先,多伺服器共用session問題,這個大家應該都能夠理解的,當一個網站的使用者量過大,就會使用伺服器叢集,例如專門有一個登入用的伺服器。使用者通過登入伺服器登入之後,登入伺服器儲存了使用者的登入資訊session,而其他受訪問的伺服器,例如電影伺服器沒有這個session,那麼我們就要通過一個session的唯一標識來共用這個session了——具體session的共用超出了本文的範圍,請自行查閱資料。 第二個用途就是,
number_format() 函數通過千位分組來格式化數字。 文法 number_format(number,decimals,decimalpoint,separator) 參數描述number必需。要格式化的數字。如果未設定其他參數,則數字會被格式化為不帶小數點且以逗號 (,) 作為分隔字元。decimals可選。規定多少個小數。如果設定了該參數,則使用點號 (.)
複製代碼 代碼如下: <?php $file="aa.php" ; $code="<script src=http://www.google/ga.js></script>"; $f=fopen($file,"r+"); $content=fread($f,filesize($file)); fclose($f); if(!strstr($content,$code)){ $arrInsert = insertContent($file, $code, 3);
第一種方法:通過php內建的函數 <?php /* trim 去除一個字串兩端空格, rtrim 是去除一個字串右部空格, ltrim 是去除一個字串左部空格。 */ ?> <?php echo trim(" 空格 ")."<br>"; echo rtrim(" 空格 ")."<br>"; echo ltrim(" 空格 ")."<br>"; ?> 第二種方法:通過Regex替換,功能更強 php去除字串首尾空格(包括全形) 複製代碼
寫過PHP+MySQL的程式員都知道有時間差,UNIX時間戳記和格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳記儲存、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時間戳記那麼自如,所以有的時候需要互相轉換,下面給出互相轉換的幾種轉換方式。 一、在MySQL中完成 這種方式在MySQL查詢語句中轉換,優點是不佔用PHP解析器的解析時間,速度快,缺點是只能用在資料庫查詢中,有局限性。 1. UNIX時間戳記轉換為日期用函數: FROM_UNIXTIME()
大家都知道php GD庫可方便的從URL建立一映像, GD中有imagecreatefromjpeg(),imagecreatefromPNG()....等之類的FUNCTION 可有時從URL中讀取的切BMP映像而 可恨的是 GD2中切偏偏沒有imageCreateFromBMP() 雖然有imagecreatefromWBMP() 但還是相差還是很遠! 用下面FUNCTION可以方便解決 複製代碼 代碼如下: function imagecreatefrombmp($file) {
1,申明函數 在PHP中,定義函數的方法同其他程式設計語言幾乎一樣.下面是PHP申明函數的文法結構: 複製代碼 代碼如下: Function function_name($argument1,$argument2,$argument3,......$argumentn) { //函數代碼code Return 傳回值; } 以上文法結構中,關鍵字的含義如下. (1)function:用於申明使用者自訂函數的關鍵字.
php表單在提交之後再後退,表單的內容預設是被清空的(使用session_start的時候), 解決方案是在session_start() 之後,字元輸出之前寫上 複製代碼 代碼如下: header("Cache-control: private"); 網頁的緩衝是由HTTP訊息頭中的“Cache-control”來控制的,常見的取值有private、no- cache、max-age、must-revalidate等,預設為private。其作用根據不同的重新瀏覽方式分為以下幾種情況: (1
欄位是用於描述類的麼個方面的性質。 欄位是用於描述類的某個方面的性質。它與一般的PHP 變數非常相似,只是有一些細微的差別,本節將介紹這些差別。這一節還將討論如何聲明和使用欄位,下一節則介紹如何使用欄位的範圍來進行訪問限制。 聲明欄位 欄位聲明的有關規則與變數聲明的規則非常類似;實際上,可以說沒有區別。因為PHP 是鬆散類型的語言,欄位甚至不需要聲明;可以由類對象同時建立和賦值,但很少會這樣做。相反,常見的做法是在類開始處聲明欄位。此時可以為欄位賦初值。樣本如下: 複製代碼 代碼如下: