Time of Update: 2016-07-29
當然可以去PHPMYADMIN裡瀏覽一下。但是終究有遺漏吧。所以自己寫了個,比較資料庫差異的指令碼(PHP的),方便一下自己。當然代碼很簡單,就不講解了,貼代碼: 複製代碼 代碼如下:mysql_connect('localhost','root','root'); mysql_select_db('tablea'); //標準的資料庫 $q = mysql_query("show tables"); while($s = mysql_fetch_array($q)){ $name = $s[0
Time of Update: 2016-07-29
呵呵,好玩吧,一真的想做一個函數百科網,只是由於我的精力有限了,唯寫WEB開發筆記,一天一篇文章的更新就已經夠忙了,因為,我的職業也不只是寫這一個部落格,還有其它很多網站需要維護,天天就是寫軟文,發原創,真夠累的,好了,以後有機會,我還是要把函數百科網做起來,希望大家支援。 定義和用法 strrev() 函數反轉字串。 文法 strrev(string) 參數 描述 string 必需。規定要反轉的字串。 例子 複製代碼 代碼如下:echo strrev("Hello World!"); ?>
Time of Update: 2016-07-29
ob_flush/flush在手冊中的描述, 都是重新整理輸出緩衝區, 並且還需要配套使用, 所以會導致很多人迷惑… 其實, 他們倆的操作對象不同, 有些情況下, flush根本不做什麼事情.. ob_*系列函數, 是操作PHP本身的輸出緩衝區. 所以, ob_flush是重新整理PHP自身的緩衝區. 而flush, 嚴格來講, 這個只有在PHP做為apache的Module(handler或者filter)安裝的時候, 才有實際作用. 它是重新整理WebServer(可以認為特指apache)
Time of Update: 2016-07-29
類很簡單,主要是運用了幾個函數數組列表函數list(),字串分割成數組函數explode(),擷取時間戳記和微秒數microtime(),代碼如下: 複製代碼 代碼如下:class runTime { private $starTime;//開始時間 private $stopTime;//結束時間 private function getMicTime(){ $mictime=microtime();//擷取時間戳記和微秒數 list($usec,$sec)=explode("
Time of Update: 2016-07-29
這也是OO設計的基本思想之一。在PHP5之前,如果需要使用一個類,只需要直接使用include/require將其包含進來即可。下面是一個實際的例子: 複製代碼 代碼如下:class ClassA{ public function __construct(){ echo “ClassA load success!”; } } //定義一個類ClassA,檔案名稱為ClassA.php class ClassA{ public function __construct(){ echo
Time of Update: 2016-07-29
以前我也寫過一個註冊表類,不過那一個不能進行多個類的註冊,下面用數組對類進行了儲存。 複製代碼 代碼如下://基礎類 class webSite {//一個非常簡單的基礎類 private $siteName; private $siteUrl; function __construct($siteName,$siteUrl){ $this->siteName=$siteName; $this->siteUrl=$siteUrl; } function getName(){ return
Time of Update: 2016-07-29
PHP的ping服務代碼其實在以前我已經寫過一個類,不過,有很多朋友加我好友說,看不太懂,那個是以類的形式寫的,可能如果直接放到代碼裡直接用不太行,今天發一下能夠直接用的ping函數,希望對大家有所協助,還需要說明的一點是現在的ping並不是像以前那麼管用了,因為,百度和gg可能又加入了其它的指標,新網站ping能成功,但不一定是百分百收錄。 複製代碼 代碼如下:function postUrl($url, $postvar) { $ch = curl_init(); $headers =
Time of Update: 2016-07-29
首先ajax不能上傳檔案,這誤導了我有段時間,今晚睡不著就照著說明做了個無重新整理上傳檔案 其實原理很簡單 複製代碼 代碼如下: 和一般的標籤相比多了一個target屬性罷了,用於指定標籤頁在哪裡開啟以及提交資料。 如果沒有設定該屬性,就會像平常一樣在本頁重新導向開啟action中的url。 而如果設定為iframe的name值,即"upload"的話,就會在該iframe內開啟,因為CSS設定為隱藏,因而不會有任何動靜。若將display:none去掉,還會看到伺服器的返回資訊。
Time of Update: 2016-07-29
libcurl同時也支援HTTPS認證、HTTP POST、HTTP PUT、 FTP 上傳(這個也能通過PHP的FTP擴充完成)、HTTP 基於表單的上傳、代理、cookies和使用者名稱+密碼的認證。 php的curl真的是相當好用,網上一搜尋相關文章都是關於curl類比登陸的,很少人提供類比discuz發貼的源碼。 複製代碼 代碼如下:$discuz_url = 'http://127.0.0.1/discuz/';//論壇地址 $login_url = $discuz_url
Time of Update: 2016-07-29
call_user_func_array (PHP 4 >= 4.0.4, PHP 5) call_user_func_array -- Call a user function given with an array of parameters Description mixed call_user_func_array ( callback function, array param_arr ) Call a user defined function given by function,
Time of Update: 2016-07-29
下面就用一段程式碼範例來示範一下PHP進階對象構建中的使用多個建構函式進行對象構建的原理。 複製代碼 代碼如下:class classUtil {//這是一個參數處理的類 public static function typeof($var){ if (is_object($var)) return get_class($var);//如果是對象,擷取類名 if (is_array($var)) return "array";//如果是數組,返回"array" if
Time of Update: 2016-07-29
複製代碼 代碼如下:/* *檔案名稱:linearList.php * 功能:資料結構線性表的順序儲存實現 * author:黎錦煥 * @copyright:www.drw1314.com */ class linearList { private $arr; private $length; const MAXSIZE=100; /* *建構函式,判斷空表還是飛空表,並且進行執行個體化 * @param array $arr 輸入的數組 * @param int $n 輸入數組的長度 * @
Time of Update: 2016-07-29
PHP設計模式原廠模式的使用方法 複製代碼 代碼如下:/* * 每日練習 PHP設計模式原廠模式的使用方法 * PHP原廠模式不難理解,顧名思義,就是一個加工廠,然後工廠是製造產品的,只要製造產品 * 就必須有幾個要素:"方法","模型","工廠車間"。 */ /*第一種樣本 普通原廠模式 * */ abstract class model {//產品模型 abstract function getNames(); } class zhangsan extends model
Time of Update: 2016-07-29
在使用的時候,得先把要產生摘要的內容strip_tags()一下,當然,你也可以把strip_tags()直接添加到函數中,我沒有搞,自己添加吧。下面是函數: 複製代碼 代碼如下:function cutstr($string, $length,$charset,$dot) {//字元,截取長度,字元集,結尾符 if(strlen($string) return $string; } $pre = chr(1); $end = chr(1); //保護特殊字元串 $string =
Time of Update: 2016-07-29
register_globals的值可以設定為:On或者Off,我們舉一段代碼來分別描述它們的不同。 代碼: 複製代碼 代碼如下: 當register_globals=Off的時候,下一個程式接收的時候應該用$_GET['user_name']和$_GET['user_pass']來接受傳遞過來的值。(註:當的method屬性為post的時候應該用$_POST['user_name']和$_POST['user_pass'])
Time of Update: 2016-07-29
在堆棧中,最後壓入的資料(進棧),將會被最先彈出(出棧)。 即在資料存放區時採用“先進後出”的資料結構。 PHP中,將數組當做一個棧,主要是使用array_push()和array_pop()兩個系統函數來完成。 入棧主要是利用array_push()函數向第一個參數的數組尾部添加一個或多個元素,然後返回新數組的長度,樣本如下: 複製代碼 代碼如下:$zhan=array("WEB");//聲明一個數組當做棧 array_push($zhan,"PHP");//將字串壓入棧(數組)中
Time of Update: 2016-07-29
複製代碼 代碼如下://在你的開始處加入 ob_start(); ob_start(); //以下是你的代碼 //在結尾加入 ob_end_clean(),並把本頁輸出到一個變數中 $temp = ob_get_contents(); ob_end_clean(); //寫入檔案 $fp = fopen(‘檔案名稱','w'); fwrite($fp,$temp) or die(‘寫檔案錯誤'); ?> 這隻是最基本的方法,還不是很實用,因為網站是要更新的,要定期重建HTML 下面是我用的方法:
Time of Update: 2016-07-29
題目:組合演算法:有一個數組a,有N 個元素,現在要求從中找出含有任意元素的所有組合個數。 解答:先看規律吧: 假設這個數組為array(1,2,3,4,5)那麼M=5; 可能出現的組合為: 1個數位組合個數: 5 2個數位組合個數: 4+3+2+1 3個數位組合個數: 3+2+1 4個數位組合個數: 2+1 5個數位組合個數: 1 很眼熟吧,就是一個逆序的9*9乘法表。除過第一行有M個組合外,其他的組合按乘法表來處理,2個FOR語句嵌套而已 代碼: 複製代碼 代碼如下:$c = 5; $a =
Time of Update: 2016-07-29
PHP中將數組當做一個棧,主要是使用array_push()和array_pop()兩個系統函數來完成。入棧主要是利用array_push()函數向第一個參數的數組尾部添加一個或多個元素,然後返回新數組的長度,樣本如下: 而PHP中,將數組當作是隊列則主要是用array_push()和array_shift()實現。 複製代碼 代碼如下:$zhan=array("WEB");//聲明一個數組當做隊列 array_push($zhan,"PHP");//將字串壓入棧(數組)中
Time of Update: 2016-07-29
我自己構思了下,實際上程式來解決這個事情,就是一個位移量的問題。首先看數列::1、1、2、3、5、8、13、21、34數列的下一個數是前2個數字之和,以此類推。