2個比較經典的PHP加密解密函數分享_PHP教程

項目中有時我們需要使用PHP將特定的資訊進行加密,也就是通過密碼編譯演算法產生一個加密字串,這個加密後的字串可以通過解密演算法進行解密,便於程式對解密後的資訊進行處理。最常見的應用在使用者登入以及一些API資料交換的情境。筆者收錄了一些比較經典的PHP加密解密函數代碼,分享給大家。加密解密原理一般都是通過一定的加密解密演算法,將密鑰加入到演算法中,最終得到加密解密結果。1、非常給力的authcode加密函數,Discuz!經典代碼(帶詳解):複製代碼 代碼如下:function

函數中使用require_once問題深入探討 優雅的設定檔定義方法推薦_PHP教程

背景在項目中很多人喜歡在設定檔使用數組來配置各個配置項,如等級的配置level.config.php:複製代碼 代碼如下:$g_levelConfig = array( '1'=>'新手', '2'=>'進階', );因為項目不同模組經常會相互調用方法,會出現重複包含一個檔案的情況,為了避免錯誤,大家一般都會用require_one,而且經常會在函數裡包含檔案,如:複製代碼 代碼如下:

PHP實現產生唯一編號(36進位的不重複編號)_PHP教程

當我們要將一個龐大的資料進行編號時,而編號有位元限制,比如5位的車牌號、10位的某證件號碼、訂單流水號、短網址等等,我們可以使用36進位計算出符合位元的不重複的編號。我們將0-Z(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)分別代表數值0-35,如字母Z代表35。這樣的話我要得到一個5位的編號,最大資訊量就是36的5次方了,36^5 =

ThinkPHP模板中判斷volist迴圈的最後一條記錄的驗證方法_PHP教程

對於用過smarty做過php開發的朋友來說,應該都知道在smarty模板裡面判斷foreach迴圈是否是最後一個可以用$smarty.foreach.name.last來判斷迴圈是否到了最後一條記錄,在thinkphp的模板中常見的迴圈是volist,但是volist的各種屬性中並沒有直接判斷最後一條記錄的屬性,那麼在thinkphp中如何判斷呢?下面的代碼可以實現ThinkPHP中volist斷最後一條記錄。舉例代碼如下,讀者可以自己去體會。class="last">指令碼之家以上程式碼片段

ThinkPHP使用smarty模板引擎的方法_PHP教程

ThinkPHP支援多種php模板引擎,可以根據個人需要加以配置。下面我們以Smarty模板引擎為例,給大家說說具體的操作流程!首先去Smarty官網上下載一個Smarty。本站下載地址:http://www.jb51.net/codes/16086.html。接下來解壓壓縮包,會有兩個檔案夾:demo和libs。開啟libs檔案夾,複製所有內容。接下來,開啟你網站根目錄

ThinkPHP模板Switch標籤用法樣本_PHP教程

ThinkPHP模板中的switch標籤用於在模板中根據不同情況輸出不同的值。ThinkPHP模板引擎支援switch判斷,可根據不同條件輸出不同的結果,使用格式如下:輸出內容1輸出內容2預設情況用法舉例如下:管理員遊客此處注意:name屬性可以使用函數以及系統變數,其屬性值為變數名稱,沒有$符號,而value值使用變數時需要帶$符號,如上面的例子所示。而value的值在使用變數方式的情況下,不再支援多個條件的同時判斷,如下面多條件判斷。多條件判斷:case 的 value

PHP源碼分析之變數的預存程序分解_PHP教程

PHP代碼如下:複製代碼 代碼如下:$php_var = 1; 對應C的代碼是:複製代碼 代碼如下:zval* c_var; //定義PHP變數指標 MAKE_STD_ZVAL(c_var); //初始化PHP變數 ZVAL_LONG(c_var,1) ;//賦值 ZEND_SET_SYMBL( EG(active_symbol_table), " php_var ", c_var);//註冊到全域變數符號表一.首先看第一行: zval* c_var;//申明一個zval指標c_

ThinkPHP實現多資料庫連接的解決方案_PHP教程

ThinkPHP實現串連多個資料的時候,如果資料庫在同一個伺服器裡的話只需要這樣定義模型:class MembersModel extends Model{protected $trueTableName = 'members.members';

ThinkPHP實現大量刪除資料的代碼執行個體_PHP教程

ThinkPHP實現大量刪除資料原理很簡單,只需在模板頁面裡面寫上這樣傳過來就是一個數組,action的刪除函數del()如下:/****刪除函數支援刪除多條和一個**/function del(){ //dump($_GET['id']); //$name = strtolower($_GET['_URL_'][0]); //擷取當前模組名 $name = $this->getActionName(); $model = D($name);//擷取當期模組的操作對象 $id = $_

PHP和javascript常用Regex及用法執行個體_PHP教程

在電腦科學中,Regex用來描述或者匹配一系列符合某個句法規則的字串的單個字串。在WEB開發中,Regex通常用來檢測、尋找替換某些符合規則的字串,如檢測使用者輸入E-mai格式是否正確,採集符合規則的頁面內容等等。今天我們分別用PHP和Javscript向大家介紹WEB開發中最常用最實用的Regex及其用法,Regex是一門學科,不可能使用一篇文章來講解完,理論的東西網上很多,有興趣的同學可以搜一大把。不過你也許沒必要去埋頭學習琢磨不透的Regex,看本文和執行個體給您呈現常用、實用的Rege

ThinkPHP快速入門執行個體教程之資料分頁_PHP教程

資料分頁可能是web編程裡最常用到的功能之一。ThinkPHP實現分頁功能十分簡潔。只需要定義幾個參數就可以實現。並且擴充也十分方便。下面讓我們從零開始實現ThinkPHP的分頁程式吧。1.首先,我們得建立一個用於分頁測試的資料庫 test.sql代碼如下。CREATE TABLE `test` (`id` int(10) unsigned NOT NULL auto_increment,`name` char(100) NOT NULL,`content` varchar(300) NOT

Thinkphp中import的幾個用法詳細介紹_PHP教程

下面附上import的幾個用法介紹1、用法一import('@.Test.Translate');@,表示項目根目錄。假定根目錄是:App/匯入類庫的路徑是:App/Lib/Test/Translate.class.php結論:import('@')是相對於項目目錄的Lib目錄而言2、用法二import('Think.Test.Translate');Think,表示系統根目錄。既是:./ThinkPHP/匯入類庫的路徑是:./ThinkPHP/Lib/Test/Translate.class.

PHP產生二維碼的兩個方法和執行個體_PHP教程

隨著科技的進步,二維碼應用領域越來越廣泛,本站之前已有文章介紹通過使用jQuery外掛程式來產生二維碼,今天我給大家分享下如何使用PHP產生二維碼,以及如何產生中間帶LOGO映像的二維碼。利用Google API產生二維碼Google提供了較為完善的二維碼產生介面,調用API介面很簡單,以下是調用代碼:複製代碼 代碼如下:$urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncode); /** * google

ThinkPHP架構實現session跨域問題的解決方案_PHP教程

ThinkPHP的session跨域問題很多開發人員都遇到過!其實不管是ThinkPHP還是php本身,在解決session跨域問題的時候都需要設定session.cookie_domain。在ThinkPHP裡,需要修改設定檔conf/config.php在第一行加上:ini_set('session.cookie_domain',

改寫ThinkPHP的U方法使其路由下分頁正常_PHP教程

ThinkPHP3.1.3在啟用路由的情況下,其分頁地址不是路由的地址,由於thinkphp3.2.1的代碼也沒有修複,很多人都遇到了這一問題,本文採納olcms的修改方法解決這一問題,特別感謝phper jack對此做出的貢獻,具體解決辦法是修改ThinkPHP的functions.php的U方法,在287行左右: if(!empty($vars)) { // 添加參數 foreach ($vars as $var => $val){ if('' !== trim($val)) $url .

ThinkPHP的模版中調用session資料的方法_PHP教程

ThinkPHP架構的模板中調用session資料的方法有很多,可以很據情況靈活運用,常見的有以下幾類:1.在模板中直接調用{$Think.session}擷取session;2.在標籤直接編寫php代碼來調用$_SESSION資料;3.在模板中寫,然後在裡面直接編寫php代碼來調用$_SESSION;4.在Action中將$_SESSION變數通過assign()方法賦值給模板;5.在自訂函數庫中,建立一個函數用來返回$_SESSION變數,然後在模板檔案中使用{$變數命 |

PHP反射使用執行個體和PHP反射API的中文說明_PHP教程

最近在開發過程中需要擷取某個類方法的參數數量、名稱及參數順序,好根據參數的名稱來從$_GET裡取值。如方法原型為test($uid,$score), 那麼我就知道需要需要從$_GET取複製代碼 代碼如下:$uid = $_GET['uid'];$score = $_GET['score'];然後調用方法$obj->test($uid,$score)當然前提是約定好了參數名稱和get方法傳值變數名一致。採用PHP的反射API,獲得函數參數名稱和參數預設值的方法如下:複製代碼 代碼如下:class

PHP中使用CURL類比登入並擷取資料執行個體_PHP教程

cURL 是一個功能強大的PHP庫,使用PHP的cURL庫可以簡單和有效地抓取網頁並採集內容,設定cookie完成類比登入網頁,curl提供了豐富的函數,開發人員可以從PHP手冊中擷取更多關於cURL資訊。本文以類比登入開源中國(oschina)為例,和大家分享cURL的使用。PHP的curl()在抓取網頁的效率方面是比較高的,而且支援多線程,而file_get_contents()效率就要稍低些,當然,使用curl時需要開啟下curl擴充。代碼實戰先來看登入部分的代碼:複製代碼 代碼如下://

ThinkPHP的cookie和session衝突造成Cookie不能使用的解決方案_PHP教程

近期做一個網站的投票時,遇到ThinkPHP中的cookie和session衝突導致Cookie不能使用的情況。  該網站採用的是ThinkPHP架構製作,有一頁面上面展示很多圖片,要求每個圖片下面有對應的投票,通過限制ip地址來,限制遊客在一定時間範圍內,能對多個圖片投票,但是每個圖片只能投票一次,開始使用ip儲存在資料庫解決,後來改進為使用session儲存,ip在服務檔案裡,不過要把產生的sessionid儲存在本地的cookie中,按照ThinkPHP手冊說明操作session一切順利,

用PHP解決的一個棧的面試題_PHP教程

前言遇到一道面試題,題目大概意思如下:使用兩個普通棧實現一個特殊棧,使得pop、push、min三個函數的都是複雜度為O(1)的操作,min函數是獲得當前棧的最小值。初步想法1.要實現min函數為(1)操作,當時第一想法是事先需要算好當前最小值,於是會想到用一個值來儲存當前棧中最小值元素,然後push和pop操作的時候維護這個值。這樣min,push都是O(1)了,但pop可不是,如果當前彈出的是最小值,需要從新尋找當前元素的最小值,這個就不是o(1)了。2.而且上面方法沒有用到另外一個棧,於是

總頁數: 5203 1 .... 2518 2519 2520 2521 2522 .... 5203 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.