Time of Update: 2018-12-08
在PHP 4.2中,他們取消了那種老的做法!正如我將在這篇文章中解釋的那樣,作出這樣的變化的目的是出於安全性的考慮。我們將研究PHP在處理表單提交及其它資料時的新的做法,並說明為什麼這樣做會提高代碼的安全性。 這裡有什麼錯誤? 看看下面的這段PHP指令碼,它用來在輸入的使用者名稱及口令正確時授權訪問一個Web頁面: 複製代碼 代碼如下:<?php // 檢查使用者名稱及口令 if ($username == 'kevin' and $password == 'secret')
Time of Update: 2018-12-08
類很簡單,主要是運用了幾個函數數組列表函數list(),字串分割成數組函數explode(),擷取時間戳記和微秒數microtime(),代碼如下: 複製代碼 代碼如下:<?php class runTime { private $starTime;//開始時間 private $stopTime;//結束時間 private function getMicTime(){ $mictime=microtime();//擷取時間戳記和微秒數 list($usec,$sec)=explode(
Time of Update: 2018-12-08
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
Time of Update: 2018-12-08
這段程式其實是屬於“小偷程式”的重要部分。 這一段程式只是下載遠程圖片的那一段而已,程式寫的比較簡單,大多部分都做了注釋。 複製代碼 代碼如下:if (preg_match_all("/http://[^ "']+[.jpg|.gif|.jpeg|.png]+/ui",stripcslashes($content),$aliurl)){ $i=0; //多個檔案++ while(list($key ,$v) = each($aliurl[0])){ //echo $v."<br />
Time of Update: 2018-12-08
PHP內建函數 array_multisort 要求每個數組大小一樣 $areas是地區的二維數組,包含人數和次數,現在要按這2種數進行降序排序 複製代碼 代碼如下:foreach($areaArray as &$areas) { $times = $numbers = array(); foreach($areas as $province => $v) { $times[$province] = $v['times']; $numbers[$province] =
Time of Update: 2018-12-08
按指定元素值去除數組元素 複製代碼 代碼如下:<?php //去除值為"Cat"的元素 $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); print_r($a); unset($a[array_search("Cat",$a)]);//array_search("Cat",$a)按元素值返回鍵名。去除後保持索引 print_r($a); ?> 查看array_search用法 顯示結果 去除前: Array ( [a] =&
Time of Update: 2018-12-08
打包下載Pain.php 複製代碼 代碼如下:<?php class Pain { public $var=array(); public $tpl=array(); //this is the method to assign vars to the template public function assign($variable,$value=null) { $this->var[$variable]=$value; } public function
Time of Update: 2018-12-08
因為php的配置一般用資料,正好和js裡的對象表示一般,所以可以這樣: 複製代碼 代碼如下:<script type="text/javascript" src="http://www.google.com/jsapi"></script> 複製代碼 代碼如下:var $strings={}; $strings['hide']='hide'; $strings['show']='show'; google.load("language", "1"); function
Time of Update: 2018-12-08
下面一段代碼是建立相應資料庫的sql代碼:複製代碼 代碼如下: ////////////// //////無限分類的資料庫設計及範例 ////////////// mysql> create database db_kind; Query OK, 1 row affected mysql> use db_kind; Database changed mysql> create table tb_kind( -> id int not
Time of Update: 2018-12-08
引言: 在編寫處理字串的程式或網頁時,經常會有尋找符合某些複雜規則的字串 的需要。Regex就是用於描述這些規則的文法。 例:在判斷使用者郵件地址格式、手機號碼格式或者採集別人網頁內容時. php也常常用到Regex php有兩個常用的Regex函數:preg_match和ereg。 我今天剛看了preg_match.它的具體寫法是preg_match(mode,string subject,array matches); 以下是我寫的一個example. 複製代碼 代碼如下:<?php
Time of Update: 2018-12-08
All right, 父類postParent定義為抽象,規定子類必須重新實現 buildHTML()方法,這個方法並沒有花括弧,如果有不管有沒有內容都會報錯的。 現在越看越覺得這代碼完全沒必要用抽象類別,用繼承也都很雞肋,好吧,也沒啥好說的好像。。。。。 另外我把mysql 分開在外面了,所以調用方法很麻煩 1,先執行個體化 readArticle 2,mysql查詢,參數來自 readArticle::getSQL(); 3,返回mysql結果資源給
Time of Update: 2018-12-08
複製代碼 代碼如下:-- ACL Tables -- 表的結構 `aclresources` DROP TABLE IF EXISTS `aclresources`; CREATE TABLE IF NOT EXISTS `aclresources` ( `rsid` varchar(64) NOT NULL , `access` int(4) NOT NULL default 0, `desc` varchar(240) NOT NULL default '', `created_at`
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php $mimetypes = array( 'ez' => 'application/andrew-inset', 'hqx' => 'application/mac-binhex40', 'cpt' => 'application/mac-compactpro', 'doc' => 'application/msword', 'bin' => 'application/octet-stream', 'dms' =>
Time of Update: 2018-12-08
從本章中,我們瞭解 .建立可以調用的函數以便重用代碼 .把參數傳遞給函數並且從函數傳回值和指令碼的不同部分中的變數和資料進行互動 .把代碼和函數組存入到其他檔案中,並且我們的指令碼內包含這些檔案. 3.1基本代碼重用:函數 3.1.1 定義和調用函數 關鍵字function通知php這是一個函數,後面跟著的是函數的名稱,它可以是字母、數字、字元或底線 函數名稱之後是參數列表,然後是函數體。在其它語言中名稱相同、但是參數列表不同的函數,php不支援這一特性。 複製代碼 代碼如下:<?php
Time of Update: 2018-12-08
今天看到幾個有關PHP的符號。一個是@,這個加在一個變數的前面,是為了抑制PHP解譯器報錯,也就是說即使出了錯也不會顯示出來。 還有一個更重要的符號PHP的範圍解析操作符(::) 在沒有聲明任何執行個體的情況下訪問類中的函數或者基類中的函數和變數很有用處。而 :: 運算子即用於此情況。 複製代碼 代碼如下:<?php class A { function example() { echo "I am the original function A::example().<br
Time of Update: 2018-12-08
我們知道很多在網上下載的論壇或者個人部落格程式都有安裝的頁面,要製作這樣的安裝程式就需要用到sql檔案建立資料庫。 只對phpmyadmin匯出的sql檔案有效 複製代碼 代碼如下:$dbfile="test.sql"; $content=iconv("UTF-8","GB2312",file_get_contents($dbfile)); //擷取建立的資料 //去掉注釋 $content=preg_replace("/--.*\n/iU","",$content); //替換首碼
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /** * 橋接模式 * * 將抽象部份與它實現部分分離,使用它們都可以有獨立的變化 */ abstract class Implementor { abstract public function operation(); } class ConcreteImplementorA extends Implementor { public function operation() { echo "ConcreteImplementorA Operation&
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /** * 單例模式 * * 保證一個類僅有一個執行個體,並提供一個訪問它的全域訪問點 * */ class Singleton { static private $_instance = null; private function __construct() { } static public function getInstance() { if(is_null(self::$_instance)) { self::$_instance = new
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /** * 命令模式 * * 將一個請求封裝為一個對象從而使你可用不同的請求對客戶進行參數化,對請求排除或記錄請求日誌,以及支援可取消的操作 */ interface Command { public function execute(); } class Invoker { private $_command = array(); public function setCommand($command) { $this->_command[] = $
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php /** * 組合模式 * * 將對象組合成樹形結構以表示"部分-整體"的階層,使得客戶對單個對象和綜合物件的使用具有一致性 */ abstract class MenuComponent { public function add($component){} public function remove($component){} public function getName(){} public function getUrl(){}