Time of Update: 2016-06-20
最近項目中需要用到圖片的一些特殊處理——比如:根據使用者請求產生任意尺寸的映像。經過一些資料的尋找,最終選用了php_imagick。利用ImageMagick,你可以根據web應用程式的需要動態產生圖片, 還可以對一個(或一組)圖片進行改變大小、旋轉、銳利化、減色或增加特效等操作,並將操作的結果以相同格式或其它格式儲存。本節我們就來介紹一下如何在windows下安裝php_imagick拓展。1. 下載 Download
Time of Update: 2016-06-20
如今的PHP架構層出不窮,我不是這方面的專家,甚至不能熟練地使用其中的一種,所以我不做推薦,也不想討論哪些算是架構哪些不算架構。這裡我要討論的是如何才能更快地開始使用某個新的架構。首先你當然必須選擇一個架構,比如ZendFramework、Cake、Symfony、atk、Yii、CodeIgniter、Solar、PRADO、ThinkPHP、SAF等。選擇哪個呢?有些架構提供了非常好“step-by-step”入門教程,另一些則比較難入門了。我很喜歡這篇文章:《學習一種新的程式設計語言所需做
Time of Update: 2016-06-20
很多PHP程式員調試使用echo、print_r()、var_dump()、printf()等,雖然對於有較豐富開發經驗的程式員來說這些也已經足夠了,他們往往可以在程式執行的過程中,通過輸出特定變數的值可以判斷程式執行是否正確,甚至效率高低也可以看出來(當然可能還需要使用一些時間函數)。那麼我們為什麼還需要一個專門的偵錯工具來監控我們的程式運行呢?在我們平時的php開發中,一個大的項目經過長時間的積累以後你會發現效能越來越慢,而效能到底消耗在了什麼地方,常常是一個令人頭疼的問題,function
Time of Update: 2016-06-20
有很多對於PHP的抱怨,甚至這些抱怨也出自很多聰明的人。當Jeff
Time of Update: 2016-06-20
php 緩衝數組形式的變數,實際上就是將 php 將數組寫入到一個文字檔或者尾碼名為 .php 儲存起來,使用的時候直接調用這個檔案。那麼如何使用 php 將數組儲存為文字格式設定的檔案呢?下面分享三種方法實現將 php 數組寫入到檔案以緩衝數組。(1)利用 serialize 將數組序列化儲存為文字檔,調用時候再使用 unserialize 還原$file='./cache/phone.php';$array=array('color'=> array('blue','red','green'
Time of Update: 2016-06-20
檔案下載源碼: 檔案編碼問題解決方案:如果檔案名稱是中文,php的函數不能識別中文檔案名稱,一般如果程式編碼為utf-8,php的函數比較古老,只能識別gb2312編碼的中文,所以把中文用iconv(“原編碼”,”要轉成的編碼”,”要轉碼的字串”)函數可以轉碼。比如,把一個字串從utf-8轉碼為gb2312$file_name=iconv(“utf-8”,”gb2312”,”$file_name”);
Time of Update: 2016-06-20
本文執行個體講述了PHP中file_get_contents進階用法,分享給大家供大家參考。具體分析如下:首先解決file_get_contents的逾時問題在逾時返回錯誤後就象js中的settimeout那樣進行一次嘗試,錯誤超過3次或者5次後就確認為無法連線伺服器而徹底放棄。這裡就簡單介紹兩種解決方案:一、增加逾時的時間限制注意:set_time_limit只是設定你的PHP程式的逾時時間,而不是file_get_contents函數讀取URL的逾時時間。我一開始以為set_time_lim
Time of Update: 2016-06-20
在幾種情況下,我們會需要進行PHP擴充開發:1、PHP本身無法訪問的資源或是調用,2、通過擴充的方式可以實現處於效能和效率的考慮,3、用C實現會更好4、處於商業或代碼保護考慮,將代碼封裝起來5、為了更深入的瞭解PHP,從這裡入門假設有這麼一個擴充,提供一個叫ccvita_string的函數。下面詳細介紹怎麼樣製作這樣一個PHP擴充:第一步、產生代碼PHP為了擴充開發的方便,提供了一個類似代碼產生器的工具ext_skel,具體可以參見說明。首先我們建立一個檔案scutephp.skel,它的內容為
Time of Update: 2016-06-20
學好 PHP,你應該知道這些首先你應該是在用 PHP 5.3 以上的版本,如果 PHP 版本在這之下,是時候該升級了。我建議如果有條件,最好使用最新的版本。你應該看過 PHP The Right Way,這篇文章包含了很多內容,而且還能再擴充開。大部分的名詞和概念你都需要瞭解。 1. PSR The idea behind the group is for project representatives to talk about the commonalities between our
Time of Update: 2016-06-20
Discuz經典的使用者資訊密碼編譯演算法/** *使用者資訊加密解密函數 * *待加密內容用/t分割 *@return String 加密或解密字串 *@param String $string 待加密或解密字串 *@param String $operation 操作類型定義 DECODE=解密 ENDODE=加密 *@param String $key 加密運算元 */function authcode($string, $operation, $key = '') {/**
Time of Update: 2016-06-20
最近在網上看了很多的PHP數組分頁的文章,覺得有些不錯!所以拿來分享一下,學習學習。我們的資料未必都是儲存在資料庫中,很多時候是用數組來組織的。所以擷取數組資料,進行分頁是比較常見的編程要求。分頁的原理很簡單,就是按分頁數擷取某個範圍的資料而已,PHP給我們提供了一個很便利的函數:array_slice()。array_slice() 函數在數組中根據條件取出一段值,並返回。例如:public function books($pagenum = 1){
Time of Update: 2016-06-20
PHP去除數組裡面的空值,我們可以用PHP內建函數array_filter();也可以利用array_diff()函數array_diff — 計算數組的差集說明arrayarray_diff( array $array1, array $array2 [, array $ ...] )array_diff() 返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。注意鍵名保留不變。去空值的例子:$array = array("a","b","",null,"c");
Time of Update: 2016-06-20
一般來說, 我們可以通過直接讓URL指向一個位於Document Root下面的檔案, 來引導使用者下載檔案.但是, 這樣做, 就沒辦法做一些統計, 許可權檢查, 等等的工作. 於是, 很多時候, 我們採用讓PHP來做轉寄, 為使用者提供檔案下載.但是這個有一個問題, 就是如果檔案是中文名的話, 有的使用者可能下載後的檔案名稱是亂碼.於是, 我們做一下修改(參考: :恩, 現在看起來好多了, 不過還有一個問題, 那就是readfile, 雖然PHP的readfile嘗試實現的盡量高效,
Time of Update: 2016-06-20
網路相簿圖片防盜鏈破解程式 - PHP版 這個防盜鏈破解版可以完美破解當下比較流行的: 百度相簿,網易相簿,360我喜歡等網站圖片. 還可以實現簡單的圖片防盜鏈. 因為這個類是先進行擷取遠程圖片, 然後再把圖片發送到用戶端,所以,算是進行了兩次流量的傳送.因此,會浪費空間流量,接下來,會開發緩衝功能,這樣可以實現節約流量!referer = $referer; // parse the http link $this->parseLink($link);
Time of Update: 2016-06-20
如何用php判斷一個用戶端是手機還是電腦?其實很簡單,開發人員都知道,通過瀏覽器訪問網站時,瀏覽器都會向伺服器發送UA,即User Agent(使用者代理程式)。不同瀏覽器、同一瀏覽器的不同版本、手機瀏覽器、電腦端的瀏覽器的UA都是不一樣的。我們只要寫代程式擷取這段UA,然後判斷UA是什麼,然後就可以區分出是手機還是電腦了。下面,通過PHP代碼來判斷訪客的瀏覽器UA是否為手機瀏覽器,然後自動跳轉到相應的頁面:
Time of Update: 2016-06-20
在php服務端當一張頁面調用了session_start()函數之後,這張頁面做了3件事情1,在伺服器端建立了一個sess_###############的文字檔(c:\window\tem\目錄下面)2,刪除一起失效的sess_##########文字檔(此處就不在講了)3,把http頭 和
Time of Update: 2016-06-20
中繼資料(Metadata)編程思想源於Java這種進階語言,簡單的說就是將商務邏輯與實現代碼進行分離,僅用XML這類的描述性語言描述業務之間的映射關係,不需要寫實現代碼即完成編程。源於Java的中繼資料編程特性原資料是軟體架構方面的先進技術之一,讓你可以編寫更少的代碼實現更多的事情,將商務邏輯的重用性發揮到了極致。也許聽起來有些抽象,讓我們來看一個實際的例子來幫你理解我主張的中繼資料編程理念。Openbiz架構讓
Time of Update: 2016-06-20
在PHP開發中,很多時候我們需要對資料進行加密解密,比如有些資料需要儲存到cookie中,但又不能被使用者輕易得到這些資料,這時我們就需要加密這些資料儲存到cookie中,等我們需要使用它們的時候再解密。加密的過程如下:// 加密資料並寫到cookie裡$cookie_data = $this -> encrypt("scutephp.com", $data); $cookie = array( 'name' => '$data',
Time of Update: 2016-06-20
共用記憶體是一種在相同機器中的應用程式之間交換資料的有效方式。一個進程可建立一個可供其他進程訪問的記憶體段,只要它分配了正確的許可權。每個記憶體段擁有一個惟一的 ID(稱為 shmid),這個 ID 指向一個實體記憶體地區,其他進程可在該地區操作它。建立並提供了合適的許可權之後,同一台機器中的其他進程就可以操作這些記憶體段:讀取、寫入和刪除。這表明使用 C 語言編寫的應用程式可與使用其他語言(比如 Java 或
Time of Update: 2016-06-20
PHP讀取ACCESS資料庫執行個體代碼open($MM_Conn_STRING);//連結開啟資料來源$query="select * from dm order by id asc";$RS->open($query,$Conn,1,1);//執行語句,返回資料集echo"共有:".$RS->RecordCount."條記錄結果!";//紀錄數for ($i=0;$ifields->Count;$i++)echo $RS->fields[$i]->Name." ";//遍曆欄位名echo "