首先是外掛程式的管理類的實現: 複製代碼 代碼如下:<? /** * STBLOG PluginManager Class * * 外掛程式機制的實現核心類 * * @package STBLOG * @subpackage Libraries * @category Libraries * @author Saturn * @link http://www.cnsaturn.com/ */ class PluginManager { /** * 監聽登入的外掛程式 * *
我花了一個下午的時間,自己用PHP指令碼寫了一個處理上傳檔案的指令碼代碼,沒有做更多的安全處理,希望對大家有用。 首先,在你的config.js檔案裡添加如下代碼: 複製代碼 代碼如下:CKEDITOR.editorConfig = function( config ) { config.filebrowserImageUploadUrl = './upload.php?type=img'; config.filebrowserFlashUploadUrl =
聽說本方法會觸犯搜尋引擎的一些操作原則, 有可能被被各搜尋引擎處罰, 甚至刪除網站. 所以我剛剛已經撤下這樣的處理, 直到確定其不屬於作弊. 有魄力的朋友可以繼續使用, 但後果自負. 本部落格的首頁和存檔頁面以列表的形式顯示文章, 在訪客點擊展開文章時才載入文章的內容. 因為文章的內容部分包含了大量的文字和圖片, 需要大量的載入時間和流量. 儘快地向訪客展示網頁可以挽留大量的來訪者. 而對於手機使用者來說, 載入時間和流量則更為重要. 一般來說, 網站的首頁是搜尋引擎訪問最多的頁面,
就是contains這個函數,書上介紹說這個函數是按照元素的內容來來篩選選擇的元素集,當我運行代碼的時候老是報錯,後來發現是函數庫裡沒有這個函數,於是自己寫了這個函數。 代碼如下: 複製代碼 代碼如下:function yhCheckIsIncludingValue(element , pattern) { var bool = false; var childrenNodes = element.childNodes; if (childrenNodes.length == 0) { if (
整個系統只有帶碼全部用PHP,沒有JS,沒有正則...純純的PHP...其實別的我也不會呵呵... 下面是原表單的html帶碼... 上傳檔案表單 複製代碼 代碼如下:<form id="upload" action="uplpad.php" enctype="multipart/form-data" method="post"> <div id="upload"> Map Name: <br /> <input type="text"
幾乎所有的cgi程式都有這樣的 bug,只是具體的表現方式不一樣罷了。 一、涉及到的危險函數〔include(),require()和include_once(),require_once()〕 include() && require()語句:包括並運行指定檔案。 這兩種結構除了在如何處理失敗之外完全一樣。include() 產生一個警告而 require() 則導致一個致命錯誤。換句話說,如果你想在遇到丟失檔案時停止處理頁面就用 require()。include()
複製代碼 代碼如下:$fp = fopen('d:/file.txt', 'r+'); if ($fp) { $i = 1; while (!feof($fp)) { //修改第二行資料 if ($i == 2) { fseek($fp, 2, SEEK_CUR); fwrite($fp, '#'); break; } fgets($fp); $i++; } fclose($fp); }
也就是 有BOM 格式編碼,或者 無BOM格式編碼。 如果看檔案的內容,是看不出任何差別的,以下列檔案(schema.sqlite.sql)內容為例: schema.sqlite.sql 複製代碼 代碼如下:CREATE TABLE guestbook ( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, email VARCHAR(32) NOT NULL DEFAULT 'noemail@test.com', comment TEXT NULL,
複製代碼 代碼如下:<?php /** * author:yagas * email:yagas60@21cn.com */ class Image { /** 類保護變數 */ protected $th_width = 100; protected $th_height = 50; protected $quality = 85; //圖片品質 protected $transparent = 50; //浮水印透明度 protected $background = "255,255,
PHP 中的變數 變數用於儲存值,比如數字、文本字串或數組。 一旦設定了某個變數,我們就可以在指令碼中重複地使用它。 PHP 中的所有變數都是以 $ 符號開始的,變數名是區分大小寫。 在 PHP 中設定變數的正確方法是: $var_name = value;PHP 的入門者往往會忘記在變數的前面的 $ 符號。如果那樣做的話,變數將是無效的。 雖然在 PHP 中並不需要初始設定變數,但這是個好習慣。未初始化的變數具有其類型的預設值 - FALSE,零,Null 字元串或者空數組。 複製代碼
一、定義數組 可以用 array() 語言結構來建立一個數組。它接受一定數量用逗號分隔的 key => value 參數對。 array( [key =>] value , ... ) // key 可以是 數字 或者 字串 // value 可以是任何值 例子1: 複製代碼 代碼如下:<?php $phpjc = array( 0=>'word', 3=>'excel', 'outlook', 'access'); print_r($phpjc); ?>
PHP 包括幾個函數可以判斷變數的類型,例如:gettype(),is_array(),is_float(),is_int(),is_object() 和 is_string()。 複製代碼 代碼如下:<?php $s = "this is a string"; $i = 9; $arr = array(2,4,6); is_string($s); //返回TRUE,表示$s是一個字串變數 is_string($i); //返回FALSE,表示$i不是一個字串變數
也就是說,如果把一個字串值賦給變數 var,var 就成了一個字串。如果又把一個整型值賦給 var,那它就成了一個整數。 PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變數之前加上用括弧括起來的目標類型。 複製代碼 代碼如下:<?php $foo = 10; echo "轉換前:\$foo=".$foo; //輸出一個整數 echo "<br/>" //輸出:$foo=10 echo "<br/>"; $foo = (boolean) $foo;
在PHP中有兩套Regex函數庫,兩者功能相似,只是執行效率略有差異: 一套是由PCRE(Perl Compatible Regular Expression)庫提供的。使用“preg_”為首碼命名的函數; 一套由POSIX(Portable Operating System Interface of Unix )擴充提供的(PHP預設)。使用以“ereg_”為首碼命名的函數; PHP中,Regex有三個作用: 匹配,也常常用於從字串中析取資訊。 用新文本代替匹配文本。
我的正則入門,是起源於網上的一篇文章[1],這篇文章由淺入深的闡述了正則使用的方法,我覺得是一個很好的入門材料,不過學成還是要靠個人,在使用的過程中,還是會不斷地忘記,因此反反覆複的閱讀了這篇文章有四五遍,對於其中一些比較困難的知識點,甚至要用很久才能消化,但是只要能見堅持著看完,你會發現自己對於正則的運用能力就會顯著提高。 Regex: 用於描述字元排列和匹配模式的一種文法規則。它主要用於字串的模式分割、匹配、尋找及替換操作。 PHP中的正則函數:
openCV是一個開源的用C/C++開發的電腦圖形映像庫,非常強大,研究資料很齊全。本文重點是介紹如何使用php來調用其中的局部的功能。人臉偵查技術只是openCV一個套用分支。 1.安裝 從原始碼編譯成一個動態so檔案。 1.1.安裝 OpenCV (OpenCV 1.0.0) :http://sourceforge.net/project/showfiles.php?group_id=22870&package_id=16948 #tar xvzf OpenCV-1.0.0.tar.
或者使用strcmp來判斷,但是這個能夠告訴你兩個字串是否相等,但是無法告訴你在那裡不同。 我的思路是單字串分割為一個個字母(character),這樣比較就能精確知道在那個位置不同了。 分隔字串,使用“str_split”就可以了,文法參考【2】。然後輸出結果數組,好處是連空格也會作為數組的元素。我之前的例子就是因為前一個字串包含2個空格,而後一個只有一個。但是輸出的時候看到的顯示都是一樣的。 也可以按照其他分隔字元進行分割,如“explode”或者“preg_split”,參考【3】和【4】
把對象序列化 有時候需要把一個對象在網路上傳輸,為了方便傳輸,可以把整個對象轉化為二進位串, 等到達另一端時,再還原為原來的對象,這個過程稱之為序列化,就像我們現在想把一輛汽 車通過輪船運到美國去,因為汽車的體積比較大,我們可以把汽車拆開成小的組件,然後我們把這些組件通過輪般運到美國去,到了美國再把這些組件組裝回汽車。 有兩種情況我們必須把對象序列化,第一種情況就是把一個對象在網路中傳輸的時候要 將對象序列化,第二種情況就是把對象寫入檔案或是資料庫的時候用到序列化。
多態的應用 多態是除封裝和繼承之外的另一個物件導向的三大特性之一,我個人看來PHP 中雖然可 以實現多態,但和C++還有Java 這些物件導向的語言相比,多態性並不是那麼突出,因為PHP 本身就是一種弱類型的語言,不存在父類對象轉化為子類對象或者是子類對象轉化為父類對 象的問題,所以多態的應用並不是那麼的明顯;所謂多態性是指一段程式能夠處理多種類型 對象的能力,比如說在公司上班,每個月財務發放工資,同一個發工資的方法,在公司內不
20.PHP5 介面技術 PHP 與大多數物件導向程式設計語言一樣,不支援多重繼承.也就是說每個類只能繼承一個父 類。為瞭解決這個問題,PHP 引入了介面,介面的思想是指定了一個實現了該介面的類必須 實現的一系列方法。介面是一種特殊的抽象類別,抽象類別又是一種特殊的類,所以介面也是一 種特殊的類,為什麼說介面是一種特殊的抽象類別呢?如果一個抽象類別裡面的所有的方法都是 抽象方法,那麼我們就換一種聲明方法使用“介面”;也就是說介面裡面所有的方法必須都是