久艹网,亚洲一日韩欧美中文字幕2019,国产欧美日韩精品专区黑人,一区二区三区久久99

中山php|最優(yōu)網(wǎng)絡(luò)中山做網(wǎng)站 中山php建站

最優(yōu)良人

Posts Tagged With: php

什么是php反射機(jī)制以及利用php反射機(jī)制實(shí)現(xiàn)可插拔可擴(kuò)展的插件架構(gòu)

2011/08/26 at 00:06 » Comments (406)

反射是什么? 它是指在PHP運(yùn)行狀態(tài)中,擴(kuò)展分析PHP程序,導(dǎo)出或提取出關(guān)于類、方法、屬性、參數(shù)等的詳細(xì)信息,包括注釋。這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對象的方法的功能稱為反射API。 反射是操縱面向?qū)ο蠓缎椭性P偷腁PI,其功能十分強(qiáng)大,可幫助我們構(gòu)建復(fù)雜,可擴(kuò)展的應(yīng)用。其用途如:自動(dòng)加載插件,自動(dòng)生成文檔,甚至可用來擴(kuò)充PHP語言。php反射api由若干類組成,可幫助我們用來訪問程序的元數(shù)據(jù)或者同相關(guān)的注釋交互。借助反射我們可以獲取諸如類實(shí)現(xiàn)了那些方法,創(chuàng)建一個(gè)類的實(shí)例(不同于用new創(chuàng)建),調(diào)用一個(gè)方法(也不同于常規(guī)調(diào)用),傳遞參數(shù),動(dòng)態(tài)調(diào)用類的靜態(tài)方法。 * ** 反射api是php內(nèi)建的oop技術(shù)擴(kuò)展,包括一些類,異常和接口,綜合使用他們可用來幫助我們分析其它類,接口,方法,屬性,方法和擴(kuò)展。這些oop擴(kuò)展被稱為反射,位于php源碼/ext/reflection目錄下。 可以使用反射api自省反射api本身(這可能就是反射最初的意思,自己"看"自己): <?php Reflection::export(new ReflectionExtension('reflection')); ?> 幾乎所有的反射api都實(shí)現(xiàn)了reflector接口,所有實(shí)現(xiàn)該接口的類都有一個(gè)export方法,該方法打印出參數(shù)對象的相關(guān)信息。 使用get_declared_classes()獲取所有php內(nèi)置類,get_declared_interfaces(); get_defined_functions(); get_defined_vars(); get_defined_constants();可獲取php接口,方法,變量,常量信息。 ** *** 反射初探: <?php //定義一個(gè)自定義類 class MyTestClass{ public function testFunc($para0='defaultValue0'){ } } //接下來反射它 foreach(get_declared_classes() as $class){ //實(shí)例化一個(gè)反射類 ...more »

php強(qiáng)制下載文件,避免文件或者圖片直接在瀏覽器打開

2011/08/25 at 15:08 » Comments (10)

以下代碼是FLEAPHP框架自帶的文件下載助手類 /** * FLEA_Helper_SendFile 類用于向?yàn)g覽器發(fā)送文件 * * 利用 FLEA_Helper_SendFile,應(yīng)用程序可以將重要的文件保存在 * 瀏覽器無法訪問的位置。然后通過程序?qū)⑽募?nèi)容發(fā)送給瀏覽器。 * * @package Core * @author 起源科技 (www.qeeyuan.com) * @version 1.0 */ class FLEA_Helper_SendFile { /** ...more »

php逐條輸出結(jié)果到瀏覽器,實(shí)現(xiàn)實(shí)時(shí)提醒和無刷新提示

2011/08/25 at 14:50 » Comments (280)

php實(shí)現(xiàn)字符串逐條輸出的原理是利用flush();ob_flush();函數(shù)刷新輸出緩沖 ob_end_clean(); //清除輸出緩存并且關(guān)閉緩存 echo str_pad(' ',256);//輸出256字節(jié)空格(在ie瀏覽器下要接受大于256個(gè)字節(jié)才會輸出顯示 ) for($i=0;$i<5;$i++){ echo '<br/>abc___'.$i; flush(); ob_flush(); sleep(1); } 該方法在opera下不可用,因?yàn)閛pera瀏覽器在不遇到一個(gè)html標(biāo)簽之前是不輸出內(nèi)容的 more »

php在windows主機(jī)或虛擬空間利用socket在線發(fā)送郵件

2011/08/24 at 23:53 » Comments (2,688)

在linux虛擬主機(jī)下一般可以利用php的mail函數(shù)直接發(fā)郵件 bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] ) 但是在windows虛擬主機(jī)下則不能直接使用mail函數(shù),可以通過socket了,采用郵箱的smtp服務(wù)在線發(fā)送郵件(現(xiàn)在的163免費(fèi)郵箱一注冊就可以免費(fèi)使用這個(gè)服務(wù),并且默認(rèn)開通的),比較成熟的在線發(fā)送郵件類有php_mailer,功能很強(qiáng)大,不過下面介紹的是一個(gè)比較簡單的socket郵件發(fā)送類,應(yīng)付一般的需求足夠了。 使用方法是: require_once (dirname(__FILE__).'/email.class.php');//該類的代碼附在文章后面 //########################################## $smtpserver = "smtp.163.com";//SMTP服務(wù)器 $smtpserverport =25;//SMTP服務(wù)器端口 $smtpusermail = "XXX@163.com";//SMTP服務(wù)器的用戶郵箱 $smtpemailto = "XXXXX@qq.com";//發(fā)送給誰 $smtpuser = ...more »

php時(shí)間日期函數(shù)date,getdate,strtotime,strftime,strptime,time,mktime,microtime匯總對比

2011/08/19 at 16:56 » Comments (379)

date — 格式化一個(gè)本地時(shí)間/日期(把時(shí)間戳變成文本格式) string date ( string $format [, int $timestamp ] ) timestamp 是可選的,默認(rèn)值為 time()。 $today = date("H:i:s"); ...more »

php函數(shù)體里調(diào)用外部變量

2011/08/18 at 21:47 » Comments (26)

在程序開發(fā)中,有時(shí)在一個(gè)函數(shù)里面需要調(diào)用到函數(shù)體以外的變量,這個(gè)時(shí)候有幾種方法 可以再聲明變量的時(shí)候聲明為全局變量,如: global $string; $string = 'test'; function __(){ return $string; } 也可以在函數(shù)的內(nèi)部聲明,如: $string = 'test'; function __(){ global $string; return $string; } 當(dāng)需要調(diào)用的變量只有少數(shù)的時(shí)候可以這樣用,那么如果是需要使用大量已經(jīng)定義過的變量或者甚至是全部變量的時(shí)候如何處理呢?可以這樣處理,用到PHP的超全局?jǐn)?shù)組$GLOBALS和extract()函數(shù) PHP手冊對$GLOBAL的說明是這樣的: An associative array containing references to ...more »

php獲取遠(yuǎn)程圖片,下載到本地-readfile,file_get_contents函數(shù)

2011/08/18 at 14:38 » Comments (16)

php獲取遠(yuǎn)程圖片的原理是使用readfile函數(shù)讀入一個(gè)遠(yuǎn)程文件的stream,然后寫入一個(gè)文件生成本地圖片 注:也可以用file_get_contents函數(shù),二者的區(qū)別是readfile直接把文件stream輸出,而后者賦給變量。 以下自定義函數(shù)可以實(shí)現(xiàn)遠(yuǎn)程圖片獲取,并自動(dòng)下載為本地文件: <?php // // Function: 獲取遠(yuǎn)程圖片并把它保存到本地 // // // 確定您有把文件寫入本地服務(wù)器的權(quán)限 // // // 變量說明: // $url 是遠(yuǎn)程圖片的完整URL地址,不能為空。 // $filename 是可選變量: 如果為空,本地文件名將基于時(shí)間和日期 // 自動(dòng)生成. function GrabImage($url,$filename="") { if($url==""):return false;endif; if($filename=="") { $ext=strrchr($url,"."); if($ext!=".gif" && $ext!=".jpg"):return false;endif; $filename=date("dMYHis").$ext; } ob_start(); readfile($url); $img = ob_get_contents(); ob_end_clean(); $size = strlen($img); $fp2=@fopen($filename, "a"); fwrite($fp2,$img); fclose($fp2); return $filename; } $img=GrabImage("/Article/UploadFiles/201003/20100313135251414.jpg",""); if($img):echo '<pre><img src="'.$img.'"></pre>'; else:echo "false"; endif; ?> more »

PHP利用header函數(shù)實(shí)現(xiàn)各種狀態(tài)的跳轉(zhuǎn)

2011/08/15 at 16:08 » Comments (250)

header實(shí)現(xiàn)301永久重定向 Header("HTTP/1.1 301 Moved Permanently"); Header("Location: http://www.dgkai.cn"); header實(shí)現(xiàn)302臨時(shí)重定向 Header("HTTP/1.1 302 Found"); Header("Location: http://www.dgkai.cn"); header實(shí)現(xiàn)404無法找到頁面 Header("HTTP/1.1 404 Not Found"); 一下函數(shù)可實(shí)現(xiàn)各種狀態(tài)的跳轉(zhuǎn): /** * 跳轉(zhuǎn)頁面 * * 使用header()進(jìn)行頁面跳轉(zhuǎn),不顯示任何內(nèi)容.如果不能使用header跳轉(zhuǎn) * @param string $url * @param int $status */ function goto($url,$status=null) { if(!empty($status)) { $status=intval($status); $codes = array( 100 => "Continue", 101 => "Switching Protocols", 200 ...more »

php正則匹配時(shí)常用到的模式修正符

2011/08/15 at 01:19 » Comments (267)

PHP簡單的模版引擎主要的原理是使用preg_replace對模板的內(nèi)容進(jìn)行替換,替換成可執(zhí)行的php語句然后寫入緩存文本,再include進(jìn)來執(zhí)行。 在使用preg_replace時(shí)常用到的模式修正符有: e:$replacement 的字符串將被當(dāng)作php語句執(zhí)行 U:禁止貪婪匹配 只跟蹤到最近的一個(gè)匹配符并結(jié)束, m:在匹配首內(nèi)容或者尾內(nèi)容時(shí)候采用多行識別匹配 s:模式中的圓點(diǎn)元字符(.)匹配所有的字符,包括換行 more »

php反斜線引用字符串

2011/08/15 at 01:09 » Comments (19)

addslashes:使用反斜線引用字符串 ,返回字符串,該字符串為了數(shù)據(jù)庫查詢語句等的需要在某些字符前加上了反斜線,這些字符是單引號(')、雙引號(")、反斜線(\)與 NUL(NULL 字符)。 stripslashes 相反的操作,或者如果系統(tǒng)自動(dòng)開啟了魔法引號(默認(rèn)是開啟的),如果想得到原來沒被轉(zhuǎn)義過的字符串,可以使用此函數(shù) 比如在正則的逆向引用中: $find[] = "/<a(.*)href=(\"|')?(\/.*)(\"|'|\s)/Uei"; $replace[] ="stripslashes(str_replace('$','$@&#','$0'));"; 去掉php自動(dòng)加上的反斜杠 more »