Time of Update: 2017-02-28
這篇文章主要介紹了php擷取301跳轉URL簡單一實例,有需要的朋友可以參考一下 代碼如下:/** * get_redirect_url() * Gets the address that the provided URL redirects to, * or FALSE if there's no redirect. * * @param string $url * @return
Time of Update: 2017-02-28
$root = getenv('DOCUMENT_ROOT'); ////伺服器主目錄$port = getenv('SERVER_PORT'); ////伺服器連接埠$file = getenv('SCRIPT_NAME'); ////當前執行檔案$ua = getenv('HTTP_USER_AGENT'); ////使用者UA$method = getenv('REQUEST_METHOD'); ////要求方法$protocol = getenv('SERVER_PROTOCOL');
Time of Update: 2017-02-28
【1】頁面之間無法傳遞變數 get,post,session在最新的php版本中自動全域變數是關閉的,所以要從上一頁面取得提交過來得變數要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']來得到 當然也可以修改自動全域變數為開(php.ini改為register_globals = On);考慮到相容性,還是強迫自己熟悉新的寫法比較好。 【2】Win32下apache2
Time of Update: 2017-02-28
內容緩衝輸出 PEAR cache 接下來我們開始探索更常用的緩衝技術,這也是本文的重點部份。首先我們使用PEAR中的cache包。PEAR可以將內容緩衝於檔案,資料庫或者記憶體中,我們以檔案為例。 下面是一個沒有使用緩衝的PHP小程式: pear_content_cache1.php<?php echo "這是內容。<P>"; echo "目前時間是" . date('M-d-Y H:i:s A', time())
Time of Update: 2017-02-28
一日,遇到一個問題,求上一個月的今天。 最開始我們使用 strtotime(”-1 month”) 函數求值,發現有一個問題,月長度不一樣的月份的計算結果有誤。 比如:2011-03-31,得到的結果是2011-03-03。我們先不追究什麼問題,先看如何解決問題。 此時,想起PHP中有一個mktime函數,於是自己寫了如下代碼: 代碼如下: echo date("Y-m-d H:i:s", mktime(date("
Time of Update: 2017-02-28
•strtotime函數的一些用法•strtotime函數的實現基本原理•strtotime(”-1 month”)求值失敗的原因strtotime函數的一些用法1、 strtotime(”JAN”)和strtotime(”January”)這兩個用法的效果是一樣的,都是返回指定月份的今天,如果指定月份沒有今天,則順延到下一個月。
Time of Update: 2017-02-28
PH和C#的值拷貝區別(如果哪裡說的不對,還望指出!) $a = 2; $b = $a; //在php中這裡把b的地址指向a 所以b此時也等於2;區別就在這 $a = 5; //這時php中a的值又重新寫值,所以php核心這時才會把b重新分配一個地址,然後把a原先的值進行拷貝。這就是 寫時拷貝 原理 , 也就是說,除非進行寫操作,否則實值型別就是指向一個地址。 而C#中。實值型別的複製。永遠都是建立一個地址 如: int a = 2; int b = a;
Time of Update: 2017-02-28
命令模式:將一個請求封裝為一個對象,從而你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支援可撤銷操作。 命令類:1.命令角色:聲明了一個給所有具體命令類的抽象介面。這是一個抽象角色。2.具體命令角色:定義一個接受者和行為之間的弱耦合;實現execute方法,負責調用接受的相應操作。execute()方法通常叫做執行方法3.客戶角色:建立一個具體命令對象並確定其接受者。4.要求者角色:負責調用命令對象執行請求,相關的方法叫做行動方法。5.接受者角色:負責具體
Time of Update: 2017-02-28
觀察者模式:定義對象間一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並自動更新。
Time of Update: 2017-02-28
//該檔案為register.php,在用戶端<html><head><title>使用者註冊</title><meta http-equiv = "content-type" content = "text/html;charset=utf-8"/><script type = "text/javascript" >//建立ajax引擎function
Time of Update: 2017-02-28
這篇文章主要介紹了PHP中的traits實現代碼複用使用執行個體,本文講解了Trait簡單使用、優先順序問題、多個Trait衝突問題、as可用來修改方法存取控制、Trait中使用Trait等內容,需要的朋友可以參考下 PHP5.4後新增traits實現代碼複用機制,Trait和類相似,但不能被執行個體化,無需繼承,只需要在類中使用關鍵詞use引入即可,可引入多個Traits,用','隔開。 (1)Trait簡單使用 ?
Time of Update: 2017-02-28
這篇文章主要介紹了PHP中的traits簡單使用執行個體,本文著重講解traits的文法、traits有什麼作用、什麼情況下使用traits,需要的朋友可以參考下 PHP 5.4中的traits,是新引入的特性,中文還真不知道如何準確翻譯好。其實際的目的,是為了有的場合想用多繼承,但PHP又沒多繼承,於是就發明了這樣的一個東西。 Traits可以理解為一組能被不同的類都能調用到的方法集合,但Traits不是類!不能被執行個體化。先來例子看下文法: ?
Time of Update: 2017-02-28
這篇文章主要介紹了迪菲-赫爾曼金鑰交換(Diffie–Hellman)演算法原理和PHP實現版,需要的朋友可以參考下 迪菲-赫爾曼(Diffie–Hellman)是一個可以讓雙方在不安全的公用通道上建立秘鑰的一種演算法,雙方後期就可以利用這個秘鑰加密(如RC4)內容。 迪菲-赫爾曼(Diffie–Hellman)演算法原理很簡單: 如上原理,最後很容易通過數學原理證明(g^b%p)^a%p =
Time of Update: 2017-02-28
這篇文章主要介紹了PHP 反射(Reflection)使用執行個體,本文講解了ReflectionClass、ReflectionExtension、 ReflectionFunction、ReflectionMethod、ReflectionObject、ReflectionParameter等類的使用執行個體,需要的朋友可以參考下 PHP
Time of Update: 2017-02-28
這篇文章主要介紹了PHP SplObjectStorage使用執行個體,SplObjectStorage是SPL標準庫中的資料結構對象容器,用來儲存一組對象,特別是當你需要唯一標識對象的時候,需要的朋友可以參考下 PHP SPL SplObjectStorage是用來儲存一組對象的,特別是當你需要唯一標識對象的時候。 PHP SPL
Time of Update: 2017-02-28
這篇文章主要介紹了PHP SPL標準庫之資料結構堆(SplHeap)簡單使用執行個體,本文還同時講解了最大堆(SplMaxHeap)、最小堆(SplMinHeap)的相關知識,需要的朋友可以參考下 堆(Heap)就是為了實現優先隊列而設計的一種資料結構,它是通過構造二元堆積(二叉樹的一種)實現。根節點最大的堆叫做最大堆或大根堆,根節點最小的堆叫做最小堆或小根堆。二元堆積還常用於排序(堆排序)。 如下:最小堆(任意節點的優先順序不小於它的子節點) 看看PHP
Time of Update: 2017-02-28
這篇文章主要介紹了PHP 資料結構隊列(SplQueue)和優先隊列(SplPriorityQueue)簡單使用執行個體,需要的朋友可以參考下 隊列這種資料結構更簡單,就像我們生活中排隊一樣,它的特性是先進先出(FIFO)。 PHP SPL中SplQueue類就是實現隊列操作,和棧一樣,它也可以繼承雙鏈表(SplDoublyLinkedList)輕鬆實現。 SplQueue類摘要如下: SplQueue簡單使用如下: 代碼如下: $queue = new
Time of Update: 2017-02-28
代碼如下:function remote($urls, $name = '', $path = '', $dir = './images/') {if (!is_array($urls) or count($urls) == 0) {return false;}dmkdir($dir);$curl = $text = array();foreach($urls as $k => $v) {if (!empty($v) &&
Time of Update: 2017-02-28
一.記憶體溢出解決方案在做資料統計分析時,經常會遇到大數組,可能會發生記憶體溢出,這裡分享一下我的解決方案。還是用例子來說明這個問題,如下:假定日誌中存放的記錄數為500000條,那麼解決方案如下:複製代碼 代碼如下:ini_set(‘memory_limit','64M'); //重設php可以使用的記憶體大小為64M,一般在遠程主機上是不能修改php.ini檔案的,只能通過程式設定。註:在safe_mode(安全模式)下,ini_set失效set_time_limit(600);
Time of Update: 2017-02-28
web伺服器的php session都給memcached ,這樣你不管分發器把 ip串連分給哪個web伺服器都不會有問題了,配置方法很簡單,就在php的設定檔內增加一條語句就可以了,不過前提你需要裝好memcache模組1.設定session用memcache來儲存方法I: 在 php.ini 中全域設定session.save_handler = memcachesession.save_path = "tcp://127.0.0.1:11211"方法II: