項目 多態 多態是對象的一種能力,它可以在運行時刻根據傳遞的對象參數,決定調用哪一個對象的方法。例如, 如果你有一個figure的類,它定義了一個draw的方法。並且派生了circle和rectangle 類,在衍生類別中你覆 蓋了draw方法,你可能還有一個函數,它希望使用一個參數x,並且可以調用$x->draw() 。如果你有多態性, 調用哪個draw方法就依賴於你傳遞給這個函數的物件類型。
加密 【摘 要】 我考慮從Apache和PHP之間的介面處 處理,採用臨時檔案的方式,解密後替換檔案指標 php檔案的源碼都是明文,這對於某些商業用途來說,並不適合。 因此考慮使用加密的手段保護源碼。 實在不耐煩等待zend出編譯器,而且編譯和加密本質上不是一回事兒。自己動手、開始修改。 一、基本原理 考慮截獲php讀取源檔案的介面。一開始,我考慮從Apache和php之間的介面處
1、 對許多代碼檔案說,特別是含有很多包含檔案(include or require)。它們需要花費更多的時間和解析併產生中間代碼。 2、 即使PHP代碼檔案沒有發生改變,這個執行過程還會嚴格的按照流程執行。也就是說,無論你的應該程式是否發生改變,每次調用的時候,都需要重新編譯產生opcode碼。(其實這就是編譯緩衝存在的理由) 3、 這個流程不僅僅發生在主要的代碼檔案,對於每一次的include和require來說,都會執行這個流程。(這是可以繼續最佳化的) 那些地方可以最佳化呢?
對於快速發展的動態網頁而言,PHP是一種了不起的語言。PHP也具有對初級程式員友好的特點,比如PHP就不需要動態聲明。然而,這些特徵可能導致一個程式員無意地讓安全性漏洞潛入到web應用程式中。在PHP應用中,流行的安全郵件清單就出現大量被證實的漏洞,但是一旦你明白PHP應用程式中常見的幾種漏洞的基本類型,那你將發現它和其他語言是同樣安全的。 在這篇文章中,我將詳細地介紹會導致安全性漏洞的幾種常用見的PHP程式缺陷。通過向你們展示什麼是不能做的,並且如何利用每個特定的缺陷,我希望你們不僅僅能
socket Socket協議的形象描述 1.一個是發動機(Socket),提供了網路通訊的能力 一個是轎車(Http),提供了具體的方式 2.socket的英文原義是“孔”或“插座”。在這裡作為4BDS
生在紅旗下長在春風裡,長期浸泡在河蟹社會裡面所以久而久之就有了一些河蟹的思維方式,正好有一段時間在做一個.NET的網站訪問統計系統,順便想著怎麼“監視”下每一個留言的博主們的所在地,於是就有了如今下圖所示的根據擷取到的留言者的IP地址得到留言者所在的地區,當然並沒有河蟹社會監視人民群眾的意思,純屬瞭解一下各位博主所在的真實地點,萬一是個美女博主不就可以讓我有線索可循。 想要把IPv4地址轉為真實的地址,肯定要參考IP資料庫,商業的IP資料庫儲存在關係型資料庫中,查詢和使用都非常方便,但是成本不
預存程序 預存程序如下:CREATE PROCEDURE test @TableName char(20), @ii char(20) output, @bb char(20) outputASset nocount on/*if exists (select 1 from demo_table where t_name=@TableName) set @ii = 'yes'else
在編寫一段並不複雜的指令碼的時候,發現了一個問題。先說說代碼,它的主要功能是用 PHP 判斷是否產生一段 Javascript,並使用 Cookie 選項組 /* PHP code */ header("Content-type: text/javascript"); if (!haveCookie('cookieName')) { // ... do something ?> /* Javascript code */ if
1.可以更好的組織代碼和檔案夾。 不會因為你建立了一個/inc的檔案夾,然後在裡面寫function.php檔案,就能說明你的代碼有組織了。但是當你使用一個PHP架構的時候,架構本身已經有一定的檔案夾結構,你需要遵循架構的一些標準,這樣就可以保證你始終用一定的方式來組織你的代碼。 不幸的是,一些命名行冠軍仍然在使用著vi,這可能是一個挑戰。你工作的時候將會遇到很多體積很小的檔案,當你使用架構了,你就可以很方便的使用現代化的編輯器或IDE來瀏覽你的代碼結構,這樣你就能很快的找到你所需要的檔案。
一般情況下,很少會用php去執行linux命令,不過特殊情況下,你也許會用到這些函數。以前我知道有二個函數可以執行linux命令,一個是exec,一個是shell_exec。其實有很多的,結合手冊內容,介紹以下6個函數。 1,exec函數<?php
error_reporting( E_ERROR E_WARNING E_PARSE ); set_time_limit(0); $server = 'www.php100.com'; // IP address $host = 'www.php1
資料|資料庫 在眾多CGI語言中,PHP以其簡單,快速的優點開始逐漸成長,使用PHP開發程式的人也越來越多,而一般PHP用的資料庫就兩種:文本以及MYSQL。文本資料庫讀、寫速度慢,當資料到達一定量時就會大大的降低速度乃至崩潰!而MYSQL雖然速度快,功能強大,不過不是一般的業餘愛號者所能用得起的,因為一般的免費空間都不支援MYSQL(有主機的朋友就不要往下看了)
都說文本方式容易出現檔案鎖定失效等亂七八糟的問題.其實並不是失效, 而是寫法有些不對. 被 lock_ex 後的檔案 再以read模式 fopen 的話將讀到空內容!!!如果沒有判斷就把它作操作後再寫入就出錯啦....很多問題出在這裡.再來補充一下如果一個檔案被以write的模式fopen後並 flock(..LOCK_EX)的話有另一個程式這時去 fopen 它,並且也要 flock(LOCK_EX) 的話, 這肯定出錯.因為第二個fopen時檔案的size可能已經被
複製代碼 代碼如下:function ImageResize($srcFile,$toW,$toH,$toFile="") { if($toFile==""){ $toFile = $srcFile; } $info = ""; $data = GetImageSize($srcFile,$info); switch ($data[2]) { case 1: if(!function_exists("imagecreatefromgif")){ echo
學習一門新語言可能會是一件很艱巨的任務,最好的辦法就是借鑒前輩的經驗已達到事半功倍,下面就是為PHP新手們準備的一些經驗餐( 筆者也還是新手)。 如果你是個PHP開發人員,無論是新手還是高手,筆者都希望你能在此討論下自己對PHP的想法或者技巧。 1. 從OOP開始 Naramore是SourceForge員工以及PHPWomen.org的創辦人。對於初學者,她建議在學PHP之前先瞭解清楚OOP(Object-Oriented Programming)即物件導向編程思想。
1. ReCAPTCHAThe reCAPTCHA 庫讓你可以為網站建立進階的 CAPTCHA 系統,這個系統其實是用來產生驗證資訊的,甚至包括語音驗證。當然還有 reCAPTCHA 服務可以使用,其提供易用的免費 API,值得在你的網站試試。下載 ReCAPTCHA 獲得 API Key 文檔2. AkismetAkismet 是個供小網站使用的免費服務,用來修改規範將加入資料庫的評論(防止惡意評論)。這個庫一直在改善。詳細參考 Akismet 介紹3.
所以今天我就來講講如何將你的網站和paypal進行整合。 首先,去paypal申請一個號吧,資料都補充完整之後,我們就可以開始行動樂,對了,申請paypal時,要申請那種可以接受別人付款的帳號。 接下來,我們就真正開始paypal與網站的整合了。 其實,paypal有提供傻瓜式的付款按鈕建立方式,但一般情況下我們不用,因為我們要根據自己網站的實際情況來寫customized的付款按鈕。先來一段代碼: 複製代碼 代碼如下:<form
有時候我們這樣做還不完善。可能有些人上存一些檔案,但是他通過修改副檔名,讓在我們的檔案類型之內。 單實際訪問時候又不能展示(因為副檔名與檔案內容不符)。下面這個php類,可能能夠給我們帶來協助。一、php檢測類 首先說明下,上面檔案頭與檔案類型映射關係來自網上,如果你有新的檔案需要檢查,只需要將映射加入即可。 如果你需要知道檔案頭資訊,可以通過工具:winhex開啟標準檔案尋找。如: 代碼: 複製代碼 代碼如下: <?php /*通過檔案名稱,獲得檔案類型* *@author
今天我開發了下面的代碼,算是大功初成,一天攔截了15個IP,伺服器負載正常。 複製代碼 代碼如下:<?php //查詢禁止IP $ip =$_SERVER['REMOTE_ADDR']; $fileht=".htaccess2"; if(!file_exists($fileht))file_put_contents($fileht,""); $filehtarr=@file($fileht); if(in_array($ip."\r\n",$filehtarr))die("Warning:
函數 php程式寫的時間長了,自然對他所提供的功能了如指掌,他所提供的一大堆功能,真是覺得很好用,但有時候會發現php也缺少一些功能,自己總是會產生為php添加一些自訂的功能的想法。久而久之,終於今天憋不住了,開始動手研究如何添加。 下載一個php的原始碼包,這裡使用的是php