Time of Update: 2018-12-08
如果用錯方法函數或是用少了,如果幾個方法函數的邏輯順序錯了,很可能就是一個漏洞,而且不容易找出來。糾結啊~上網找找看哪位高人有總結出相關的結論出來,果然有!不過似乎不是很全面,我在這裡稍完善了一下,僅供參考。複製代碼 代碼如下:// 判斷 0 與 ''、null、empty、false 之間的關係 $a = 0; echo "0 與 ''、 empty、null、false 之間的關係:"; if($a == ''){ echo "0 == '';"; }else{ echo "0 != '';
Time of Update: 2018-12-08
1.php 複製代碼 代碼如下:<form name=form1 id=form1 method=post action=2.php> 基本資料1:<input type=text name=base1 /> 基本資料2:<input type=text name=base2 /> <input type=submit value="下一步"> </form> 2.php 複製代碼 代碼如下:<form name=form2
Time of Update: 2018-12-08
GBK簡體字元集的編碼是同時用1個位元組和2個位元組來表示的。當高位是0x00~0x7f時,為一個位元組,高位為0x80以上時用2個位元組表示" 注:括弧裡面都是2進位 當你發現一個位元組的內容大於0x7f,那它肯定是個(跟另外一個位元組拼湊成一個)漢字,如何判斷肯定大於0x7f呢? 0x7f(1111111)後面一個數就是0x80(10000000),所以想要大於0x7f,這個位元組的最高位都肯定是1,我們只需要判斷這個最高位是否為1就行了。 判斷方法: 位與(相同的位都是1的才為1,否則為0
Time of Update: 2018-12-08
先看看php官方文檔的解釋: __set() is run when writing data to inaccessible properties. __get() is utilized for reading data from inaccessible properties. 究竟用中文怎麼翻譯呢? inaccessible :n. 難達到;難接近;無法理解。 有代碼有真相: 複製代碼 代碼如下:<?php error_reporting(E_ALL); class stu{
Time of Update: 2018-12-08
作者Jani Hartikainen發表了一篇博文,文中將兩者進行對比,列舉了PHP優於Node.js的五大理由。一起來看下。 1. 容易託管 大多數Web託管伺服器供應商能為PHP提供託管,而對於Node,你需要找一個更專業的託管服務提供者。通常情況下,需要通過shell訪問來設定應用程式,並且大部分託管供應商不包含這些,即便是包含此功能的,其他的包要相對的廉價些。 2. PHP在伺服器上安裝更方便、簡易
Time of Update: 2018-12-08
include效能 複製代碼 代碼如下:include('include.php'); 當然這種方式並沒有錯誤,只不過在效率上它比下面的方式要稍稍差些: 複製代碼 代碼如下:include(realpath(dirname(_FILE_)).DIRECTORY_SEPARATOR.'include.php'); 這種方式我們可能需要輸入更多一些,但相對於前面那種需要PHP引擎去include_path
Time of Update: 2018-12-08
環境:PHP 5.2.14 CentOS 5.5 第一步:建立擴充骨架 cd php-5.2.14/ext ./ext_skel –extname=laiwenhui 第二步:修改編譯參數 cd php-5.2.14/ext/laiwenhui vi config.m4 去掉 PHP_ARG_ENABLE(laiwenhui, whether to enable laiwenhui support, [ --enable-laiwenhui Enable laiwenhui support])
Time of Update: 2018-12-08
參考型別(Reference)在許多電腦語言中都被使用,而且是作為一個非常強大而實用的特性存在。它有類似指標(Pointer)的實現,卻又有不同於指標的表現。例如C++的引用,可以讓不同變數指向同一個對象,同時又保有直接使用dot來擷取對象成員,不用繁瑣的使用dereference運算子(*)和Pointer to
Time of Update: 2018-12-08
複製代碼 代碼如下:$a = array(1, 2); $b = array(11, 12); foreach($a as &$r){ } foreach($b as $r){ } echo $a[1]; // 輸出 12 兩個的迴圈的本意可能是: 第一個迴圈需要在迴圈中修改元素的內容, 所以使用引用; 但第二個迴圈只是把 $r 當作一個臨時變數. 可是, 為什麼 $a[1] 的值發生了改變呢? 當對 $a 的迭代完成後, $r 是 $a[1] 的引用, 改變 $r 的值, 就是改變 $
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /* * Created on 2010-10-27 * BY QQ542900563 * Copyrights Reserved 2000-2020 * 本例示範圖片浮水印的產生辦法 */ //分別載入兩張圖片 $im=imagecreatefromjpeg("liu.jpg"); $img2=imagecreatefrompng("m.png"); //取得各自的長寬,計算位置 $im_WH=getimagesize("liu.jpg"); $im_W=
Time of Update: 2018-12-08
瞭解crypt() 只要有一點使用非Windows平台經驗的讀者都可能對crypt()相當熟悉,這一函數完成被稱作單向加密的功能,它可以加密一些明碼,但不能反過來將密碼重新轉換為原來的明碼。crypt()函數定義如下。 string crypt (string input_string [, string salt])
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php //這個方法純粹是背函數,不解釋; function countStr($str){ $str_array=str_split($str); $str_array=array_count_values($str_array); arsort($str_array); return $str_array; } //以下是例子; $str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas"; print_
Time of Update: 2018-12-08
很基礎的東西,感覺代碼還不夠簡潔,希望高手指導修改 複製代碼 代碼如下:<?php function BubbleSort($str){ for($i=0;$i<count($str);$i++){//從數組末尾取一個值; for ($k=count($str)-2;$k>=$i;$k--){//將這個值向前冒泡; if($str[$k+1]<$str[$k]){ //將小於符號改為大於符號,就是降序排列; $tmp=$str[$k+1];
Time of Update: 2018-12-08
核心代碼: 複製代碼 代碼如下:<?php /* * 計算星座的函數 string get_zodiac_sign(string month, string day) * 輸入:月份,日期 * 輸出:星座名稱或者錯誤資訊 */ function get_zodiac_sign($month, $day) { // 檢查參數有效性 if ($month < 1 || $month > 12 || $day < 1 || $day > 31) return
Time of Update: 2018-12-08
用到的函數: str_split:把字串分割到數組中。類似的函數explode() 函數把字串分割為數組。array_count_values:用於統計數組中所有值出現的次數。arsort:對數組進行逆向排序並保持索引關係。主要用於對那些單元順序很重要的結合數組進行排序。$str="asdfgfdas323344##$\$fdsdfg*$**$*$**$$443563536254fas";//任意長度字串 複製代碼 代碼如下:$arr=str_split($str);
Time of Update: 2018-12-08
PhpMyAdmin 不能匯出資料的問題,點擊匯出後先是一個請求失敗或者白頁,重新重新整理後就報錯 export.php: Missing parameter: what (FAQ 2.8) export.php: Missing parameter: export_type (FAQ 2.8) 解決方案是: php目錄下的php.ini 設定要調整一下 原來的 post_max_size = 8M ,改大到 post_max_size = 20M 就好了。 php源碼中解決辦法
Time of Update: 2018-12-08
對象的賦值與複製: 賦值:通過“ = ”運算子多載User a(10),b;b = a;複製:調用複製建構函式User b;User a(b);或者User a = b;//相當於User a(b);與賦值的區別,賦值是對一個已經存在的對象進行賦值(已經實現定義了被賦值的對象),而複製是從無到有建立一個新的對象,並使它與已有的對象相同。淺複製與深複製:
Time of Update: 2018-12-08
雖然在HTML中可以通過指定圖片的寬度和高度來隨意縮放圖片,但是這種方法不會減少圖片的像素數目。圖形檔案的尺寸沒有改變,當然也不會加快圖片下載的速度了。當然也可以手動通過圖形軟體產生圖片的縮圖,但對於大量的圖片展示來說,這個工作量將十分巨大。為此微縮圖的自動產生程式就被設計出來了。 PHP中提供的imagecopyresized函數就可以用來產生真正的縮賂圖片。該函數的標推 文法如下: 文法:int imagecopyresized(int dst_im,int src_im,int dstX,
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /* php Ubb代碼編輯器 */ function get_ubb($ubb){ $ubb=preg_replace("/([B])(.*)([/B])/","<B>\2</B>" ,$ubb);//替換B粗體字 $ubb=preg_replace("/([I])(.*)([/I])/","<I>\2</I>" ,$ubb); $ubb=preg_replace("/([U])(.*)([/U])/","&
Time of Update: 2018-12-08
其實,這不是什麼難事,因為剛入手CI,所以還是費了一番周折。好在有手冊。 找到資料庫設定檔,添加一個新的庫的串連資訊。$config[XX]。 在控制器裡邊, a) $this->xx = $this->load->database(‘XX', TRUE) tip:XX表示你配置的資料庫資訊數組的鍵名,後邊建議設定為TRUE,分別表示返回串連ID和啟用ActionRecord類 b) 然後在該控制器裡邊你就可以用 $this->xx->query()