Time of Update: 2016-07-21
下面就用一段程式碼範例來示範一下PHP進階對象構建中的使用多個建構函式進行對象構建的原理。 複製代碼 代碼如下: class classUtil {//這是一個參數處理的類 public static function typeof($var){ if (is_object($var)) return get_class($var);//如果是對象,擷取類名 if (is_array($var)) return "array";//如果是數組,返回"array" if (is_numeric($
Time of Update: 2016-07-21
涉及知識點: php對excel檔案進行迴圈讀取 php對字元進行ascii編碼轉化,將字元轉為十進位數 php對excel日期格式讀取,並進行顯示轉化 php對漢字亂碼進行編碼轉化 複製代碼 代碼如下: require_once 'PHPExcel.php'; /**對excel裡的日期進行格式轉化*/ function GetData($val){ $jd = GregorianToJD(1, 1, 1970); $gregorian = JDToGregorian($jd+intval($
Time of Update: 2016-07-21
在堆棧中,最後壓入的資料(進棧),將會被最先彈出(出棧)。 即在資料存放區時採用“先進後出”的資料結構。 PHP中,將數組當做一個棧,主要是使用array_push()和array_pop()兩個系統函數來完成。 入棧主要是利用array_push()函數向第一個參數的數組尾部添加一個或多個元素,然後返回新數組的長度,樣本如下: 複製代碼 代碼如下: $zhan=array("WEB");//聲明一個數組當做棧 array_push($zhan,"PHP");//將字串壓入棧(數組)中
Time of Update: 2016-07-21
水仙花數是一個n(>=3)位元字的數, 它等於每個數位n次冪之和. 例如, 153是一個水仙花數, 153=1³+5³+3³. 編寫程式, 求解小於1000的所有水仙花數. 複製代碼 代碼如下: for($i=100;$i $a=intval($i/100); $b=intval($i/10)%10; $c=$i%10; if(pow($a,3)+pow($b,3)+pow($c,3)==$i){ echo $i."\t"; } }
Time of Update: 2016-07-21
複製代碼 代碼如下: $a=zip_open('other.zip'); while ($e=zip_read($a)){ $fz = zip_entry_filesize($e); $fn = iconv('GBK','UTF-8',zip_entry_name($e)); if (!$fz){//dir mkdir($fn); continue; } if (!zip_entry_open($a, $e)) continue; file_put_contents($fn,
Time of Update: 2016-07-21
這種時候您的統計系統(可能是量子、百度等)當然也是統計不到的。不過我們可以藉助於一些防攻擊的軟體來實現,不過效果有時並不明顯。下面我提供一段PHP的代碼,可以起到一定的防CC效果。 主要功能:在3秒內連續重新整理頁面5次以上將指向本機 http://127.0.0.1 複製代碼 代碼如下: $P_S_T = $t_array[0] + $t_array[1]; $timestamp = time(); session_start(); $ll_nowtime = $timestamp ; if
Time of Update: 2016-07-21
ob_flush/flush在手冊中的描述, 都是重新整理輸出緩衝區, 並且還需要配套使用, 所以會導致很多人迷惑… 其實, 他們倆的操作對象不同, 有些情況下, flush根本不做什麼事情.. ob_*系列函數, 是操作PHP本身的輸出緩衝區. 所以, ob_flush是重新整理PHP自身的緩衝區. 而flush, 嚴格來講, 這個只有在PHP做為apache的Module(handler或者filter)安裝的時候, 才有實際作用. 它是重新整理WebServer(可以認為特指apache)
Time of Update: 2016-07-21
一.數值資料類型 數字或數值資料在PHP中一般就兩種double和int。 PHP是一種鬆散類型的指令碼語言,要注意類型轉換的方式。 複製代碼 代碼如下: $a = '5'; //數位字串也是數字,參與數學運算當數文書處理 echo is_numeric ( $a ); //1 echo ''; echo 7 + $a; //12 echo ''; echo '7' + $a; //12 echo ''; //用.串連後就按字串處理 echo '7' . $a; //75 ?> 二.隨機數
Time of Update: 2016-07-21
一、shopex主機環境 1、windows 2003 R2 2、iis6.0+php5.0以上 3、mysql5.0以上 如果有希望瞭解php環境搭配的,請查閱: windows2003下如何配置搭建iis+php+mysql環境 二、shopex主機問題描述 複製代碼 代碼如下: Warning: require(/core/include_v5/adminCore.php) [function.require]: failed to open stream: No such file
Time of Update: 2016-07-21
一.在web頁面嵌入PHP代碼的幾種風格 推薦使用標準風格或簡短風格 複製代碼 代碼如下: //標準風格 echo 'Hello World!'; ?> //簡短風格 echo 'Hello World!'; ?> 二.代碼注釋的四種方式 複製代碼 代碼如下: //單行注釋 /* * 多行注釋 */ #shell風格注釋 /** * PHPdoc風格注釋 */ ?> 三.向瀏覽器輸出字串的幾種方法 複製代碼 代碼如下: /* * echo函數的功能:向瀏覽器輸出字串 *
Time of Update: 2016-07-21
PHP對大小寫敏感問題的處理比較亂,寫代碼時可能偶爾出問題,所以這裡總結一下。 但我不是鼓勵大家去用這些規則。 推薦大家始終堅持“大小寫敏感”,遵循統一的代碼規範。 一、大小寫敏感 1. 變數名區分大小寫 所有變數均區分大小寫,包括普通變數以以及$_GET, $_POST, $_REQUEST, $_COOKIE, $_SESSION, $GLOBALS, $_SERVER, $_FILES, $_ENV等; 複製代碼 代碼如下: $abc = 'abcd'; echo $abc; //輸出 '
Time of Update: 2016-07-21
複製代碼 代碼如下: /* * Captcha Class base on PHP GD Lib * @author Design * @version 1.0 * @demo * include('captchaClass.php'); * $captchaDemo=new Captcha(); * $captchaDemo->createImage(); */ class Captcha{ //@定義驗證碼圖片高度 private $height; //@定義驗證碼圖片寬度 private
Time of Update: 2016-07-21
無法復原的加密函數為:md5()、crypt() md5() 用來計算 MD5 哈稀。文法為:string md5(string str); crypt() 將字串用 UNIX 的標準加密 DES 模組加密。這是單向的加密函數,無法解密。欲比對字串,將已加密的字串的頭二個字元放在 salt 的參數中,再比對加密後的字串。文法為:string crypt(string str, string [salt]); 可逆轉的加密為:base64_encode()、urlencode()
Time of Update: 2016-07-21
複製代碼 代碼如下: //取進位位上的數值 function getRemainder($num, $bin, $pos, &$result = 0){ //author lianq.net //$num 數值,十進位 //$bin 要轉換的進位 //$pos 位元 $real_len = log($num, $bin);//對數,求原值長度 $floor_len = floor($real_len);//捨去求整 $base = pow($bin, $pos-1);//基數 $divisor
Time of Update: 2016-07-21
找到專案檔夾下面的Lib/Action這個目錄,在下面有個建立好的例子IndexAction.class.php,加入我們建立的是admin這個項目,那麼./admin/Lib/Action/IndexAction.class.php,這個模組是預設載入的模組。在ThinkPHP中,自動載入的動作、方法、操作等等都是以index命名的。 下面,我們建立一個自己的模組,比如UserAction,class.php(注意命名規則),我們編輯這個檔案: 複製代碼 代碼如下:
Time of Update: 2016-07-21
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-21
SESSION會話開啟時,會首先發送一個對瀏覽器的唯一標識session_id的cookie(名字為PHPSESSID可以通過session_name()擷取),同session.save_handler = files的情況下,在伺服器的指定目錄(如temp)下產生一個沒有尾碼的檔案,名字是複製代碼 代碼如下: 'sess_" + 'session_id';
Time of Update: 2016-07-21
登入原理還是蠻複雜的,像我這樣以為curl擷取頁面再post上去的想法真是太單純了。 整理下遇到的價格處理字串的函數: 複製代碼 代碼如下: $encryption = "username"; echo base64_encode ($encryption);//echo "dXNlcm5hbWU= "; echo ""; echo urlencode("http://".$encryption);//echo " http%3A%2F%2Fusername "; echo ""; echo
Time of Update: 2016-07-21
介紹 對於php效能問題,議論最多的就是__autoload()方法,很多人提到這個方法非常影響效能。還有人說opcode也能影響到__autoload()方法,所以針對這兩點我做了個測試。 最終發現__autoload方法在效能方面的影響不是很大的。 環境 PHP:5.3.9 ——以fastcgi模式啟動 Nginx:1.1.12 eaccelerator:0.9.6.1 。 最終發現__autoload方法在效能方面的影響不是很大的。 環境 PHP:5.3.9
Time of Update: 2016-07-21
scanner.php 複製代碼 代碼如下: /**************PHP Web木馬掃描器************************/ /* [+] 作者: alibaba */ /* [+] QQ: 1499281192 */ /* [+] MSN: weeming21@hotmail.com */ /* [+] 首發: t00ls.net , 轉載請註明t00ls */ /* [+] 版本: v1.0 */ /* [+] 功能: web版php木馬掃描工具 */ /* [+]