Time of Update: 2017-01-19
本文總結分析了PHP訪問資料庫叢集的方法。分享給大家供大家參考,具體如下:一般常見的有三種做法:1、自動判斷sql是否為讀,來選擇資料庫的串連:執行個體化php DB類的時候,需要一次串連兩台伺服器,然後根據slq選擇不同的串連,舉個例子:$link_w = mysql_connect($w_host,$user,$pwd);$link_r = mysql_connect($r_host,$user,$pwd);//執行sqlif(preg_match("/^select/i",
Time of Update: 2017-01-19
有這樣一個表,id是分類的ID,name是分類名稱,pid是上級分類的ID。現在有個分類ID,程式要找到它上級的上級的上級……分類的ID,簡單說就是找出頂級分類的ID。比如“新鮮水果”的ID是13,對應父類ID是5,而5的父ID是1,1沒有父類,也就是頂級分類了。以前年輕氣盛不懂事,總想著用遞迴來尋找,然後再將結果緩衝來解決效能問題。後來又試過將整個表緩衝起來,再遞迴尋找。再後來……似乎比較少有機會遇到無限級分類……最近有個同事問我怎麼“優雅”的解決這個問題。於是我靈機一動,就有了如下解決方案:
Time of Update: 2017-01-19
做PHP這麼長時間,發現後台管理系統不可少的一個應用模組就是對欄目的分類,一般情況下欄目都要做成是無限級的,也就是說每個欄目理論上都可以添加子欄目。在我看來這種情況處理起來整體上說也不是很複雜,唯一一個相對來說較難的點是無限級欄目的查詢。下面就這種情況我來向大家做一個簡單的介紹,對於這種無限級欄目的查詢一般情況下有兩種方式,其中一種就是使用棧的機制,另一種是使用遞迴函式的方式(當然遞迴函式實現機制也是藉助於棧來實現的)。就這兩種方式下面我們分別介紹。遞迴函式實現方式上面提到,遞迴函式的也是藉助於
Time of Update: 2017-01-19
PHP是一種弱類型語言, 這樣的特性, 必然要求有無縫透明的隱式類型轉換, PHP內部使用zval來儲存任意類型的數值, zval的結構如下(5.2為例):struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend_uint refcount; zend_uchar type; /* active type */ zend_uchar is_ref;};上面的結構中,
Time of Update: 2017-01-19
bc是Binary Calculator的縮寫。bc*函數的參數都是運算元加上一個可選的 [int scale],比如string bcadd(string $left_operand, string $right_operand[, int $scale]),如果scale沒有提供,就用bcscale的預設值。這裡大數直接用一個由0-9組成的string表示,計算結果返回的也是一個 string。bcadd — 將兩個高精度數字相加 bccomp — 比較兩個高精度數字,返回-1, 0, 1
Time of Update: 2017-01-19
本文執行個體講述了PHP實現仿百度文庫,豆丁線上文檔效果。分享給大家供大家參考,具體如下:由於項目要實作類別似百度文庫的功能,又是我一個人做的項目,所以就想到找免費的現成的來使用。在網上找到的都是一樣的。如下:Flash Paper支援Office文檔(.doc,.xls,.ppt)直接轉換為PDF或SWF,速度很快,效果較好。可惜,Flash Paper V2.2後沒有再更新了。安裝Flash
Time of Update: 2017-01-19
登入註冊系統是日常上網最普通的操作,我設了一個分類一步步完善註冊登入系統,若哪裡有誤,請見諒。所用語言:php資料庫 :mysql本次實現功能:1.使用者註冊2.使用者登入主要檔案:完整代碼1 sql 在已有的資料庫裡建立user表,id,username,password三個欄位複製代碼 代碼如下:create table user(id int(10) not null auto_increment,username varchar(30),password
Time of Update: 2017-01-19
update_user_option()函數update_user_option()函數作用利用全域部落格許可權更新使用者選項。使用者選項類似於使用者中繼資料,唯一的不同之處在於使用者選項支援全域部落格選項。如果'global'參數為False(預設情況下),update_user_option會預先將WordPress表首碼改成選項名稱。【函數使用】<?php update_user_option( $user_id, $option_name, $newvalue,
Time of Update: 2017-01-19
本文執行個體為大家分享了php bootstrap實現簡單登入的方法,供大家參考,具體內容如下所有檔案 記住是擷取name索引值對 from 裡面 action就是你的動作signin.html<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
Time of Update: 2017-01-19
本文執行個體講述了php mailer類調用遠程SMTP伺服器發送郵件實現方法。分享給大家供大家參考,具體如下:php mailer 是一款很好用的php電子郵件發送類別模組,可以調用本地的smtp寄送電子郵件,也可以調用遠端smtp寄送電子郵件,但是使用時需要注意一些事項,否則就會造成發送失敗,或者根本不能調用的情況,本文就我在使用這個類時,遇到的問題和解決辦法進行展開,簡要說明一下php mailer的用法,及注意事項。首先下載phpmailer類庫檔案,在這裡下載,只需一個資源分。
Time of Update: 2017-01-19
本文執行個體講述了PHP產生和擷取XML格式資料的方法。分享給大家供大家參考,具體如下:在做資料介面時,我們通常要擷取第三方資料介面或者給第三方提供資料介面,而這些資料格式通常是以XML或者JSON格式傳輸,這裡將介紹如何使用PHP產生XML格式資料供第三方調用以及如何擷取第三方提供的XML資料。產生XML格式資料我們假設系統中有一張學生資訊表student,需要提供給第三方調用,並有id,name,sex,age分別記錄學生的姓名、性別、年齡等資訊。CREATE TABLE `student`
Time of Update: 2017-01-19
本文執行個體講述了PHP Static延遲靜態繫結用法。分享給大家供大家參考,具體如下:PHP5.3以後引入了延遲靜態繫結static,它是為瞭解決什麼問題呢?php的繼承模型中有一個存在已久的問題,那就是在父類中引用擴充類的最終狀態比較困難。來看一個例子。class A { public static function echoClass(){ echo __CLASS__; } public static function test(){
Time of Update: 2017-01-19
反射是在PHP運行狀態中,擴充分析PHP程式,匯出或提取出關於類、方法、屬性、參數等的詳細資料,包括注釋。這種動態擷取的資訊以及動態調用對象的方法的功能稱為反射API。反射是操縱物件導向範型中元模型的API,其功能十分強大,可協助我們構建複雜,可擴充的應用。其用途如:自動載入外掛程式,自動產生文檔,甚至可用來擴充PHP語言。php反射api由若干類組成,可協助我們用來訪問程式的中繼資料或者同相關的注釋互動。藉助反射我們可以擷取諸如類實現了那些方法,建立一個類的執行個體(不同於用new建立),調用
Time of Update: 2017-01-19
首先建立兩個檔案: change.html 和 change.phpchange.html 檔案的表單代碼如下:<html><head><title>change file example.</title><meta charset="UTF-8"></head><body><form method="post" action="changefile.php"
Time of Update: 2017-01-19
比較有用的php程式碼片段,分享給大家供大家參考,具體代碼如下一、從網頁中提取關鍵詞$meta = get_meta_tags('http://www.emoticode.net/');$keywords = $meta['keywords'];// Split keywords$keywords = explode(',', $keywords );// Trim them$keywords = array_map( 'trim', $keywords );// Remove empty
Time of Update: 2017-01-19
php類庫給現有的圖片加文字浮水印,代碼不是很完善,歡迎大家多多指教!代碼如下:<?php/*PHP圖片加文字浮水印類庫QQ:3697578482 傷心的歌該類庫暫時只支援文字浮水印,位置為右下角,顏色隨機調用方法:1、在需要加浮水印的檔案頂部引入類庫:include_once 'imageClass.php';2、聲明新類:$tpl=new image_fu;3、給圖片浮水印提供參數:$tpl->img(圖片路徑,浮水印文字,字型路徑,字型大小,字型角度);比如:$tpl-
Time of Update: 2017-01-19
本文執行個體講述了PHP閉包函數傳參及使用外部變數的方法。分享給大家供大家參考,具體如下:在Laravel控制器寫兩個方法,一個是在內部建立一個閉包函數,一個是執行傳過來的閉包函數,測試閉包的寫法,use使用外部變數,及閉包函數的傳參。如下://測試閉包傳參及use使用外部變數public function testClosure($t1, $t2){ $closure = function ($param1, $param2) use ($t1, $t2) { echo $param1
Time of Update: 2017-01-19
瀏覽器和伺服器之間是通過 HTTP 協議進行串連通訊的。這是一種基於請求和響應模型的協議。瀏覽器通過 URL 向伺服器發起請求,Web 服務器接收到請求,執行一段程式,然後做出響應,發送相應的html代碼給用戶端。這就有了一個問題,Web
Time of Update: 2017-01-19
本文總結了一下常用的7種排序方法,並用php語言實現。1、直接插入排序/* * 直接插入排序,插入排序的思想是:當前插入位置之前的元素有序, * 若插入當前位置的元素比有序元素最後一個元素大,則什麼也不做, * 否則在有序序列中找到插入的位置,並插入 */function insertSort($arr) { $len = count($arr); for($i = 1; $i < $len; $i++) { if($arr[$i-1] > $arr[i]) {
Time of Update: 2017-01-19
使用ImageMagick,您可以輕鬆,更快地建立縮圖,比使用PHP的容易得多。<?php// Location to upload main image:$mainDir = $_SERVER['DOCUMENT_ROOT'].'/images/l/';// Location to create the thumb image:$smalDir = $_SERVER['DOCUMENT_ROOT'].'/images/s/';// Command to use:$command