Time of Update: 2017-01-19
複製代碼 代碼如下: function ImageResize($srcFile,$toW,$toH,$toFile="") { if($toFile==""){ $toFile = $srcFile; } $info = ""; $data = GetImageSize($srcFile,$info); switch ($data[2]) { case 1: if(!function_exists("imagecreatefromgif")){ echo "你的GD庫不能使用GIF格式的圖片,
Time of Update: 2017-01-19
smtp.class.php 這個是類把他做儲存到一個檔案中. 複製代碼 代碼如下: <?php class smtp { /* Public Variables */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; /* Private Variables */ var $sock; /*
Time of Update: 2017-01-19
Example:(簡練) uasort($arr,create_function('$a, $b','return $a[\'line_num\']<$b[\'line_num\'];')); *************函數定義和文法************* array_multisort (PHP4 >= 4.0b4) array_multisort --- 排序複合或多樣尺寸的數組 文法 : bool array_multisort (array ar1 [,mixed
Time of Update: 2017-01-19
最近不是在折騰論壇嘛,各種類各種函數,原創一些,從別人那兒qiang過來一些,在此分享出來,希望有朋友能用的到~注意:部分函數可能不夠完善,由此造成的漏洞風險自擔~提交過濾function filter($text){ //完全過濾注釋 $text = preg_replace('/<!--?.*-->/', '', $text); //完全過濾js $text = preg_replace('/<script?.*\/script>/', '',
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php class Event extends stdClass{ public $target=null; public $type=null; /** * 建立事件 * @param string $type */ public function __construct($type){ $this->type=trim($type); } /** * 得到事件字串 */ public function __toString(){ return
Time of Update: 2017-01-19
許多人都說演算法是程式的核心,演算法的好壞決定了程式的品質。作為一個初級phper,雖然很少接觸到演算法方面的東西。但是對於基本的排序演算法還是應該掌握的,它是程式開發的必備工具。這裡介紹冒泡排序,插入排序,選擇排序,快速排序四種基本演算法,分析一下演算法的思路。前提:分別用冒泡排序法,快速排序法,選擇排序法,插入排序法將下面數組中的值按照從小到大的順序進行排序。$arr(1,43,54,62,21,66,32,78,36,76,39);1.
Time of Update: 2017-01-19
如果你使用的是封裝好的類 例如 function fetch_array($query, $result_type = MYSQL_ASSOC) { return mysql_fetch_array($query, $result_type); } [/code] 會報這個錯誤 這是應為,你傳遞的$query是布爾值,而mysql_fetch_array 裡面的參數需要的是資源類型,這是,你的程式會判定你傳遞的參數錯誤, 我們可以 複製代碼 代碼如下: function fetch_array(
Time of Update: 2017-01-19
curl()、file_get_contents()、snoopy.class.php這三個遠程頁面抓取或採集中用到的工具,默跡還是侵向於用snoopy.class.php,因為他效率比較高且不需要伺服器特定配置支援,在普通虛擬機器主機中即可使用,file_get_contents()效率稍低些,常用失敗的情況、curl()效率挺高的,支援多線程,不過需要開啟下curl擴充。下面是curl擴充開啟的步驟:
Time of Update: 2017-01-19
現在就簡單說一在WINDOWS下開發PHP擴充的步驟: 首先需要準備的軟體有: cygwin 安裝路徑e:\app\cygwin visual studio C++ 6.0, 修改環境變數,把已經安裝好的PHP路徑設定為環境變數。在這裡,假設我的PHP安裝目錄是:e:\app\php5.2.5,那麼我把WINDOWS環境變數後面加上這個安裝目錄。方便一會兒使用php.exe。 PHP原始碼,這裡假設為e:\c_source_code\php-5.2.5 1、修改檔案 “PHP源檔案目錄/ext/
Time of Update: 2017-01-19
當你遇到以上這些令你沮喪的情況時,你一定會想能有什麼更好的辦法去解決呢?辦法當然是有的!這就是使用單元測試。單元測試不但可以在一定程度上解決上述頭疼的問題,而且能讓代碼變的容易維護,還可以能讓你更多地對代碼進行重構。
Time of Update: 2017-01-19
目標:可將一個類的介面轉換成客戶希望的另外一個介面,使得原本不相容的介面能夠一起工作。通俗的理解就是將不同介面適配成統一的API介面。角色:Target適配目標,該角色定義把其他類轉換為何種介面,也就是我們的期望介面。Adaptee被適配者,就是需要被適配的介面。Adapter適配器,其他的兩個角色都是已經存在的角色,而適配器角色是需要建立立的,它用來對Adaptee與Target介面進行適配。應用情境:如資料操作有mysql、mysqli、pdo、sqlite、postgresql等,假若產生
Time of Update: 2017-01-19
複製代碼 代碼如下:echo "今天:".date("Y-m-d")."<br>"; echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>"; echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>";echo
Time of Update: 2017-01-19
首先我們要知道明確單例模式這個概念,那麼什麼是單例模式呢?單例模式顧名思義,就是只有一個執行個體。作為對象的建立模式, 單例模式確保某一個類只有一個執行個體,而且自行執行個體化並向整個系統提供這個執行個體,這個類我們稱之為單例類。單例模式的要點有三個:一是某個類只能有一個執行個體;二是它必須自行建立這個執行個體;三是它必須自行向整個系統提供這個執行個體。下面我們討論下為什麼要使用PHP單例模式?多數人都是從單例模式的字面上的意思來理解它的用途, 認為這是對系統資源的節省,
Time of Update: 2017-01-19
幾乎所有從事程式開發的程式員都遇到時間處理問題,PHP開發也一樣,幸運的是PHP提供了很多關於日期時間函數。只要經常使用這些函數,搭配使用,日期時間處理上就熟能生巧了。今天要講的這個例子,需求是這樣的。得知某個日期時間,如:2012-04-25 10:10:00我要在這個日期時間的基礎上加上5個月並返回處理後的日期結果:2012-04-25 10:10:00 加5個月等於 2012-09-25 10:10:00這個需求看似簡單,但還是有點棘手,因為PHP沒有直接提供yyyy-mm-dd
Time of Update: 2017-01-19
廢話不多說,直接看程式碼範例。一、遍曆數組在遍曆數組中注意count的使用次數,不要每次都去計算數組長度效率慢的寫法複製代碼 代碼如下:<?php $array = array(1,2,3,4,5,6,7,8,9,10,....);for($i=0;$k<count($array);$i++){ echo $array[$i];} ?>效率快的寫法複製代碼
Time of Update: 2017-01-19
php服務端與用戶端互動、提供開放api時,通常需要對敏感的部分api資料轉送進行資料加密,這時候rsa非對稱式加密就能派上用處了,下面通過一個例子來說明如何用php來實現資料的加密解密1、加密解密的第一步是產生公開金鑰、私密金鑰對,私密金鑰加密的內容能通過公開金鑰解密(反過來亦可以)下載開源RSA密鑰產生工具openssl(通常Linux系統都內建該程式),解壓縮至獨立的檔案夾,進入其中的bin目錄,執行以下命令:openssl genrsa -out rsa_private_key.pem
Time of Update: 2017-01-19
des加密是對稱式加密中在互連網應用的比較多的一種加密方式,php 通過mcrypt擴充庫來支援des加密,要在Php中使用des加密,需要先安裝mcrypt擴充庫下面是加密解密的執行個體複製代碼 代碼如下:$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $key = "This is a
Time of Update: 2017-01-19
永久登入指的是在瀏覽器會話間進行持續驗證的機制。換句話說,今天已登入的使用者明天依然是處於登入狀態,即使在多次訪問之間的使用者會話到期的情況下也是這樣。永久登入的存在降低了你的驗證機制的安全性,但它增加了可用性。不是在使用者每次訪問時麻煩使用者進行身分識別驗證,而是提供了記住登入的選擇。據我觀察,最常見的有缺陷的永久登入方案是將使用者名稱和密碼儲存在一個cookie中。這樣做的誘惑是可以理解的——不需要提示使用者輸入使用者名稱和密碼,你只要簡單地從cookie中讀取它們即可。驗證過程的其它部分與
Time of Update: 2017-01-19
一、遞迴方法複製代碼 代碼如下:$items = array(array('id'=>1,'pid'=>0,'name'=>'一級11'),array('id'=>2,'pid'=>0,'name'=>'一級12'),array('id'=>3,'pid'=>1,'name'=>'二級21'),array('id'=>4,'pid'=>3,'name'=>'三級31'),array('id'=>5,'pid'=>
Time of Update: 2017-01-19
因為自己的一個技術站,以文章為主,文章有些是一個系列的,所以想把這些文章歸類,同一類的在一個下面。資料庫好設計,無非用id,fatherid來進行歸類,fatherid代表父類是那篇文章的id,id是文章的唯一id,層次不限,可以是兩層,可以是三層。fatherid為0的表示頂層文章。php代碼,主要是遞迴function category_tree($fatherid){ //require_once("mysql_class/config.inc.php");