Time of Update: 2016-07-29
PHP 基礎知識部分 1. 求$a的值 複製代碼 代碼如下:$a = "hello"; $b = &$a; unset($b); $b = "world"; echo $a; 2. 求$b的值 複製代碼 代碼如下:$a = 1; $x = &$a; $b = $a++; echo $b; 3. 寫出一個函數實現 刪除指定目錄包括其下的所有子目錄以及檔案 4. 寫一個函數,算出兩個檔案的相對路徑,如: $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'
Time of Update: 2016-07-29
一、檔案結構建立3個檔案夾 controller檔案夾存放控制器檔案 view檔案夾存放視圖檔案 model檔案夾存放資料檔案 建立1個index.php 作為唯一入口 二、控制器 我們在controller檔案夾下建立一個democontroller.php檔案,檔案內容如下 複製代碼 代碼如下:class DemoController { function index() { echo('hello world'); } } /* End of file
Time of Update: 2016-07-29
我這裡實際是調用了一個zend的資料庫訪問的方法,使用了fetchAll方法,但由於資料庫中沒有該記錄,所以返回的對象是null,所以我就判斷對象是否為null: 複製代碼 代碼如下:if($obj==null){ ... } 這麼寫的結果,就是產生了上面那個notice,也真是奇怪,對象為null,竟然不能訪問了? 翻查資料後,發現,判斷是否為null,需要這麼判斷: 複製代碼 代碼如下:if (isset($obj)) { echo "This var is set set so I
Time of Update: 2016-07-29
1、這是一個縮圖類庫它是一個開源的圖片縮圖類庫,可以完成多種複雜的圖片縮圖產生和現實,使用起來非常的方便。 2、使用方法這裡有一篇關於其簡單實用的說明,英文比較簡單,就不翻譯了: Basic-Usage 3、API這裡有一個API列表: PHPThumb API 不過非常可惜,API中並沒有任何說明,只能對照其英文名稱猜測其效果,當然即使猜對了,也要測試下看看是否是正確的。
Time of Update: 2016-07-29
Notice: Use of undefined constant ALL_PS - assumed 'ALL_PS' in E:\Server\vhosts\www.lvtao.net\global.php on line 50 Notice: Undefined index: EaseTemplateVer in E:\Server\vhosts\www.lvtao.net\libs\template.core.php on line 51 Notice: Use of undefined
Time of Update: 2016-07-29
Regex(Regular Expression) Regex系統: 1.POSIX 2.Perl PHP中使用的regex是PCRE: NOTE:PCRE(Perl相容Regex,Perl Compatible Regular Expressions) PCRE文法: 1.定界符 必須成對出現,可以使用除0-9a-zA-Z\以外的任何字元 2.原子 1.正則需要匹配的可見和不可見字元都是原子 2.一個Regex最少含有一個原子
Time of Update: 2016-07-29
複製代碼 代碼如下:/* *用穿越火線快速入門php物件導向! *php目前已經成為國內的主流web developer的首選開發語言,其強大的物件導向容易使初學者找不到思緒,一頭霧水! *,藉助此文希望對初學者有所協助,假設Crossfire用php來開發. * 1類與對象 */ class Crossfire { public $Category='1,2,3'; //槍械種類,3個選擇武器類別 public $Weapon='ak|awp|m4a1';//購買的武器,擁有的武器
Time of Update: 2016-07-29
一、用HTTP頭資訊 也就是用PHP的HEADER函數。PHP裡的HEADER函數的作用就是向瀏覽器發出由HTTP協議規定的本來應該通過WEB伺服器的控制指令,例如: 聲明返回資訊的類型("Context-type: xxx/xxx"),頁面的屬性("No cache", "Expire")等等。 用HTTP頭資訊重新導向到另外一個頁面的方法如下: 複製代碼 代碼如下:$url = "http://www.jb51.net"; if (isset($url)) {
Time of Update: 2016-07-29
1.echo和print的區別 PHP中echo和print的功能基本相同(輸出),但是兩者之間還是有細微差別的。echo輸出後沒有傳回值,但print有傳回值,當其執行失敗時返回flase。因此可以作為一個普通函數來使用,例如執行下面的代碼後變數$r的值將為1。 $r = print "Hello World"; 這意味著print可用在一些複雜的運算式中,而echo則不行。但是,因為echo語句不要求返回任何數值,所已在代碼中echo語句的運行效率要略微快於print語句。
Time of Update: 2016-07-29
重載:同一個類中,函數名一樣,傳回值或者參數類型,個數不一樣的叫做重載。 覆蓋:同名函數,同傳回值類型,同參數的叫做覆蓋。指的是子類對父類中方法的覆蓋。 PHP不支援方法和操作符重載。JAVA不支援操作符的重載(但是“+”實際上是一種操作符重載)。 複製代碼 代碼如下:Class Father { public function fmeth1() { echo "fmeth1()..."; } //public function fmeth1($str1) { // echo "fmeth1()
Time of Update: 2016-07-29
你不必嚴格遵守這些原則,違背它們也不會被處以宗教刑罰。但你應當把這些原則看成警鈴,若違背了其中的一條,那麼警鈴就會響起 。 ----- Arthur J.Riel (1)所有資料都應該隱藏在所在的類的內部。 (2)類的使用者必須依賴類的共有介面,但類不能依賴它的使用者。 (3)盡量減少類的協議中的訊息。 (4)實現所有類都理解的最基本公有介面[例如,拷貝操作(深拷貝和淺拷貝)、相等性判斷、正確輸出內容、從ASCII描述解析等等]。
Time of Update: 2016-07-29
解決這個問題,首先需要查看你的程式是否分配了過多的記憶體,在程式沒有問題的情況下,你可以通過一下方法來增加PHP的記憶體限制(memory_limit)。 檢查php的記憶體限制值為了查看這個值,你需要建立一個空的php檔案,比如view-php-info.php。然後將一下代碼貼到裡面。將這個指令碼放到你的Web伺服器上,然後在瀏覽器中調用它。這時你可以看到你的PHP環境配置的資訊,其中有一部分是關於“memory_limit”的,
Time of Update: 2016-07-29
在時間比較查詢的時候,int的效率明顯更高。祥文見http://www.jb51.net/article/29767.htm 但是在做項目的時候或者直接在資料庫查看資料的時候,明顯這個int一看頭就大,比如我們想 要查看一個使用者的註冊時間: select reg_time from t_xx_users where user_id=1; 這時候返回是個int值,不能直觀的看到具體的時間,所以這時候就涉及到datetime和int的轉化問題,
Time of Update: 2016-07-29
作為命令語言,它互動式解釋和執行使用者輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;作為程式設計語言,它定義了各種變數和參數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支。 PHP經過長時間的發展,很多使用者都很瞭解PHP了,這裡我發表一下個人理解,和大家討論討論。大多數情況下,我使用 exec() 命令和資料數組處理所有東西。或者對更簡單的命令使用 shell_exec(),尤其是不關心結果時。如果僅需返回一個 PHP shell指令碼,我就使用 passthru()
Time of Update: 2016-07-29
第一類方法是利用數組完成的。先把檔案名稱切割成數組,然後想辦法取得數組最後一個元素就OK了。第二類方法是通過字串的處理來完成,還有一種方法是用pathinfo()函數。 複製代碼 代碼如下:$pic = 'abc.3434.342.12123.123.exe'; $pics = explode('.' , $pic); /*得到數組總數,然後取最後一個*/ echo $num = count($pics); echo ''.$pics[$num-1]; /*遍曆數組,取得最後一個元素*/
Time of Update: 2016-07-29
explode() 函數把字串分割為數組。 文法 explode(separator,string,limit) 參數描述separator必需。規定在哪裡分割字串。string必需。要分割的字串。limit可選。規定所返回的數組元素的最大數目。說明 本函數返回由字串組成的數組,其中的每個元素都是由 separator 作為邊界點分割出來的子字串。 separator 參數不能是Null 字元串。如果 separator 為空白字串(""),explode() 將返回 FALSE。如果
Time of Update: 2016-07-29
for迴圈的經典例子就是連續求和了:1+2+3+……+100,講了一個多小時,還是有同學不會。做程式得有思想,有的同學一直敲鍵盤,也沒搞出來。在做這個求和之前,我們要思考一下,求和其實就是連續的累加,當變數$i自增的時候肯定要與之前的數求和,那麼怎麼與之前的數求和呢?我們可以做一個拆分:把$i之前的數看作一項,單獨和$i相加,同理,100加上之前99項的和,99加上之前98項的和……以此類推,2加上之前的數1,那麼1呢,就是1+0。在寫程式的時候,就是逆向思維了,先算0+1=1,再算1+2=3,
Time of Update: 2016-07-29
有了phpmail這個類,你就不用愁了。這是個外國人寫的一個類,我們就只管“拿來主義”了。下面是基於這個類裡面的send()方法寫的一個函數: 複製代碼 代碼如下:function send_mail ($title,$content,$from,$to,$charset='gbk',$attachment ='') { include '/class/PHPMail.class.php'; header('Content-Type: text/html; charset='.$charset)
Time of Update: 2016-07-29
也就是本文列舉的這13個PHP編碼好習慣,如果你有更好的建議,歡迎在本文後面的評論中發表,我這個人是喜歡求知的1、使用select從相同的資料庫查詢資訊時,使用一個join語句一次性整齊地擷取你需要的所有資訊,而不要寫多個mysql_query/while/mysql_fetch_array語句。 2、如果你在多個檔案中調用了一個資料庫連接,建立一個connection.php檔案儲存你的串連變數,在需要的地方將這個檔案包括進來。
Time of Update: 2016-07-29
首先ajax不能上傳檔案,這誤導了我有段時間,今晚睡不著就照著說明做了個無重新整理上傳檔案 其實原理很簡單 複製代碼 代碼如下: 和一般的標籤相比多了一個target屬性罷了,用於指定標籤頁在哪裡開啟以及提交資料。 如果沒有設定該屬性,就會像平常一樣在本頁重新導向開啟action中的url。 而如果設定為iframe的name值,即"upload"的話,就會在該iframe內開啟,因為CSS設定為隱藏,因而不會有任何動靜。若將display:none去掉,還會看到伺服器的返回資訊。