Time of Update: 2016-07-21
涉及多個方面,比如PHP代碼規範、PHP檔案命名規範、網站開發流程、網站安全與維護等。作為PHP開發規範的開篇,我從一個純PHP開發人員的角度來說說我所認為的PHP代碼規範,主要從PHP目錄架構結構、PHP代碼書寫規範、PHP檔案命名規範三個角度來闡述,希望對PHP入門學習者有所協助。 合理建設PHP目錄架構結構 我們知道在使用PHP進行網站開發之前,我們需要建設網站的目錄結構,網站目錄架構結構設計得合理規範,不但有利於網站開發,而且對SEO,網站推廣都有好處。
Time of Update: 2016-07-21
/** * @author xiaoxiao 2011-1-12 * @link http://xiaoyaoxia.cnblogs.com/ * @license * 統計目錄下的檔案行數及總檔案數··去除注釋 */ $obj = new CaculateFiles(); //如果設定為false,這不會顯示每個檔案的資訊,否則顯示 $obj->setShowFlag(false); //會跳過所有All開頭的檔案 $obj->setFileSkip(array('All')); $obj-
Time of Update: 2016-07-21
PHP學習筆記之二 1. 數組 PHP的數組其實是一個關聯陣列,或者說是雜湊表。PHP不需要預先聲明數組的大小,可以用直接賦值的方式來建立數組。例如: //最傳統,用數字做鍵,賦值 $state[0]="Beijing"; $state[1]="Hebei"; $state[2]="Tianjin"; //如果鍵是遞增的數字,則可以省略 $city[]="Shanghai"; $city[]="Tianjin"; $city[]="Guangzhou"; //用字串做鍵
Time of Update: 2016-07-21
wordpress是當前網終上最的行的內容發布工具之一。它擁有成千上萬的免費主題和外掛程式,協助新手方便快捷地將內容發布到網路上。但是很多時候僅僅將內容發存到網終上是不夠的,吸引使用者來你的網站是一門科學也是一門藝術,當然wordpress也有許多外掛程式幫我們改善這一點。以下是幾個一流的SEO外掛程式列表,它們可以協助我們提高WordPress網站在搜尋引擎中的排名。1. SEO Rank
Time of Update: 2016-07-21
同時,有很多函數是可以有多種方法實現的,這需要靈活運用。只有記住了這些函數,才能開發出動態網站;也只有多練習,整個網站開發一次,才能熟練的進行下次的開發,才發現自己的不足並改進。 很多方法都可以改進,比如這個計數器: 執行個體24 計數器 複製代碼 代碼如下: //計數器 function countx($file="count.dat"){ if(file_exists($file)){ $fp=fopen($file,"r"); $numx=fgets($fp,10);
Time of Update: 2016-07-21
1.聲明 密碼學是一個複雜的話題,我也不是這方面的專家。許多高校和研究機構在這方面都有長期的研究。在這篇文章裡,我希望盡量使用簡單易懂的方式向你展示一種安全儲存Web程式密碼的方法。 2.“Hash”是做什麼的? “Hash將一段資料(小資料或大資料)轉換成一段相對短小的資料,如字串或整數。” 這是依靠單向hash函數來完成的。所謂單向是指很難(或者是實際上不可能)將其反轉回來。一個常見的hash函數的例子是md5(),它流行於各種電腦語言和系統。 複製代碼 代碼如下: $data =
Time of Update: 2016-07-21
發現了個調試PHP源碼的好同志: PHP DEBUG TOOLS 其項目地址: http://freshmeat.net/projects/php-debug-tools/ 檔案下載地址: http://freshmeat.net/urls/7c58ae3fecce5763e7546b958d36e082 目前是1.03版本 這裡偶的環境是WINDOW XP , APACHE2.2, PHP5.2+ Zend Optimizer, 這裡結合PHP DEBUG
Time of Update: 2016-07-21
NextGEN Gallery是Wordpress中著名的相簿外掛程式,遺憾的是不支援中文等unicode字元,本文將介紹如何將目錄轉換為拼音(添加圖集時)。以NextGEN 1.6.2為例:“新增圖集/圖片”的路徑是:admin.php?page=nggallery-add-gallery,我們在nextgen-gallery/admin/admin.php中尋找“nggallery-add-gallery”,複製代碼 代碼如下: switch ($_GET['page']){ case
Time of Update: 2016-07-21
1.合并數組 array_merge()函數將數組合并到一起,返回一個聯合的數組。所得到的數組以第一個輸入數組參數開始,按後面數組參數出現的順序依次迫加。其形式為: 複製代碼 代碼如下: array array_merge (array array1 array2…,arrayN) 將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。 如果輸入的數組中有相同的字串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將不會覆蓋原來的值,
Time of Update: 2016-07-21
我用的方法是按key區分塊,然後在將塊賦給其他的變數,然後再進行一些操作,這樣用到了很多的for和foreach,而且代碼量也很大,所以被退回來了。 經過上面的指導,發現真的好簡單,現在與大家一同分享。 IDFIELD1FIELD2FIELD3FIELD4Key1************meat12************meat13************meat14************meat15************fruit26************fruit27********
Time of Update: 2016-07-21
sample1 複製代碼 代碼如下: 那如果使用像iconv這樣的有三個參數的函數該怎麼寫呢?如果寫成: sample 2 複製代碼 代碼如下: 一執行就會發現顯示error資訊。 因此研究一下就會發現,起始在smarty模板頁的套用函數用法中,以smaple 1來說,trim的前面$Row->colname其實就是trim的第一個參數,中間用|這個符號串接; 那假設要使用像iconv有三個參數的函數的話,就要寫成: sample 3 複製代碼 代碼如下: 也就是
Time of Update: 2016-07-21
其中有個web method像這樣的: 複製代碼 代碼如下: [WebMethod] public string HelloWorld() { return "Hello World"; } ok,一切就緒。在某php檔案中如下寫法: php5本身就支援SOAP調用Web Service: 複製代碼 代碼如下: //get localization strings from C# webservice $client = new
Time of Update: 2016-07-21
作用:建立並返回一個文本資料流並應用各種選項,可用於fopen(),file_get_contents()等過程的逾時設定、Proxy 伺服器、請求方式、頭資訊設定的特殊過程。 函數原型:resource stream_context_create ([ array $options [, array $params ]] ) 用法 例子一: 複製代碼 代碼如下: $opts = array( 'http-->array( 'method'=>"GET",
Time of Update: 2016-07-21
複製代碼 代碼如下: /** * 事件異常 * * @author lonely * @create 2010-10-21 * @version 0.1 * @lastupdate lonely * @package Event */ class Exception_Event extends Exception {} /** * 事件對象 * * @author lonely * @create 2010-10-21 * @version 0.1 * @lastupdate lonely *
Time of Update: 2016-07-21
複製代碼 代碼如下: function perms_str($perms){ if (($perms & 0xC000) == 0xC000) { // Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { // Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000)
Time of Update: 2016-07-21
findByField函數原型 複製代碼 代碼如下: /** * 返回具有指定欄位值的第一條記錄 * * @param string $field * @param mixed $value * @param string $sort * @param mixed $fields * * @return array */ function & findByField($field, $value, $sort = null, $fields = '*') { return
Time of Update: 2016-07-21
下面看這一段代碼: PHP 複製代碼 代碼如下: /** * filename: ext_page.class.php * @package:phpbean * @author :feifengxlq * @copyright :Copyright 2006 feifengxlq * @license:version 2.0 * @create:2006-5-31 * @modify:2006-6-1 * @modify:feifengxlq 2006-11-4 * description:
Time of Update: 2016-07-21
複製代碼 代碼如下: /* Compress multiple CSS files into one and cache for an hour. Use the same code for Javascript, but replace below "text/css" with "text/javascript" and of course make sure you include .js files instead of .css ones. */
Time of Update: 2016-07-21
複製代碼 代碼如下: $a = array('a','b','c','d'); unset($a[2]); print_r($a); 但是這種方法的最大缺點是沒有重建數組索引. 經過查資料後.原來PHP提供了這個功能.只不過很間接.. 這個函數是array_splice. 為了使用方便.我封裝成了一個函數.方便大家使用. 複製代碼 代碼如下: function array_remove(&$arr,$offset){ array_splice($arr,$offset,1); } $a =
Time of Update: 2016-07-21
複製代碼 代碼如下:# 不帶參數的執行格式 php安裝目錄/bin/php scriptname.php # 帶參數的執行格式 php安裝目錄/bin/php scriptname.php [參數1] [參數2] ..... 在scriptname.php通過$argv和$argc訪問參數 # $argv(正式寫法$_SERVER['argv'])數組儲存著傳遞的全部參數,需要注意的是第一個參數$argv[0] / $_SERVER['argv'][0] 為執行指令碼的名稱如,