Ⅰ php技術生成靜態頁面的實現
我們先回顧一些基本的概念。
一、PHP腳本與動態頁面。
PHP腳本是一種伺服器端腳吵旅扒本程序,可通過嵌入等方法與HTML文件混合,也可以類,函數封裝等形式,以模板的方式對用戶請求進行處理。無論以何種方式,它的基本原理是這樣的。由客戶端提出請求,請求某一頁面-----Web伺服器引入指定相應腳本進行處理-----腳本被載入伺服器-----由伺服器指定的PHP解析器對腳本進行解析形成HTML語言形式----將解析後的HTML語句以包的方式傳回給瀏覽器。由此不難看出,在頁面發送到瀏覽器後, PHP就不存在了,已被轉化解析為HTML語句。客戶請求為一動態文件,事實上並沒有真正的文件存在在那裡,是PHP解析而成相升昌對應的頁面,然後發送回瀏覽器。這種頁面處理方式被稱為「動態頁面」。
二、靜態頁面。
靜態頁面是指在伺服器端確實存在的僅含HTML以及JS,CSS等客戶端運行腳本的頁面。它的處理方式是。由客戶端提出請求,請求某一頁面- ---
WEB伺服器確認並載入某一頁面----WEB伺服器將該頁面以包的形式傳遞回瀏覽器。由這一過程,我們對比一下動態頁面,即可方現。動態頁面需由Web伺服器的PHP解析器進行解析,而且通常還需連接資料庫,進行資料庫存取操作,然後才能形成HTML語言信息鎮知包;而靜態頁面,無須解析,無須連接資料庫,直接發送,可大大減輕伺服器壓力,提高伺服器負載能力,大幅提供頁面打開速度和網站整體打開速度。但其缺點是,不能動態地對請求進行處理,伺服器上必須確實存在該文件。
三、模板及模板解析。
模板即尚未填充內容html文件。例如:
temp.html
Code:
以下是引用片段:
HTML
TITLE{ title }/TITLE
BODY
this is a { file } file''''s templets
/BODY
/HTML
PHP處理:
以下是引用片段:
templetest.php
Code:
$title = "HP愛好者測試模板";
$file = "TwoMax Inter test templet,
author:Sheyi";
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace ("{ file }",$file,$content);
$content .= str_replace ("{ title }",$title,$content);
echo $content;
?
模板解析處理,即將經PHP腳本解析處理後得出的結果填充(content)進模板的處理過程。通常藉助於模板類。目前較流行的模板解析類有 phplib,smarty,fastsmarty等等。模板解析處理的原理通常為替換。也有些程序員習慣將判斷,循環等處理放進模板文件中,用解析類處理,典型應用為block概念,簡單來說即為一個循環處理。由PHP腳本指定循環次數,如何循環代入等,再由模板解析類具體實施這些操作。
好了,對比過靜態頁面與動態頁面各自的優劣,現在我們就來說說,如何用PHP生成靜態文件。
PHP生成靜態頁面並不是指PHP的動態解析,輸出HTML頁面,而是指用PHP創建HTML頁面。同時因為HTML的不可寫性,我們創建的 HTML 若有修改,則需刪掉重新生成即可。(當然你也可以選擇用正則進行修改,但個人認為那樣做倒不如刪掉重新生成來得快捷,有些得不償失。)
言歸正傳。用過PHP文件操作函數的PHP FANS知道,PHP中有一個文件操作函數fopen,即打開文件。若文件不存在,則嘗試創建。這即是PHP可以用來創建HTML文件的理論基礎。只要用來存放HTML文件的文件夾有寫許可權(即許可權定義0777),即可創建文件。(針對UNIX系統而言,Win系統無須考慮。)仍以上例為例,若我們修改最後一句,並指定在test目錄下生成一個名為test.html的靜態文件:
Code:
以下是引用片段:
$title = "拓邁國際測試模板";
$file = "TwoMax Inter test templet,
author:_Max"Matrix@Two_Max";
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace ("{ file }",$file,$content);
$content .= str_replace ("{ title }",$title,$content);
// echo $content;
$filename = "test/test.html";
$handle = fopen ($filename,"w"); //打開文件指針,創建文件
/*
檢查文件是否被創建且可寫
*/
if (!is_writable ($filename)){
die ("文件:".$filename."不可寫,請檢查其屬性後重試!");
}
if (!fwrite ($handle,$content)){ //將信息寫入文件
die ("生成文件".$filename."失敗!");
}
fclose ($handle); //關閉指針
die ("創建文件".$filename."成功!");
?
實際應用中常見問題解決方案參考:
一、文章列表問題:
在資料庫中創建欄位,記錄文件名,每生成一個文件,將自動生成的文件名存入資料庫,對於推薦文章,只需指向存放靜態文件的指定文件夾中的該頁面即可。利用PHP操作處理文章列表,存為字元串,生成頁面時替換此字元串即可。如,在頁面中放置文章列表的表格加入標記{ articletable },而在PHP處理文件中:
Code:
以下是引用片段:
$title = "拓邁國際測試模板";
$file = "TwoMax Inter test templet,
author:_Max"Matrix@Two_Max";
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$content .= str_replace ("{ file }",$file,$content);
$content .= str_replace ("{ title }",$title,$content);
// 生成列表開始
$list = ''''''''
$sql = "select id,title,filename from article";
$query = mysql_query ($sql);
while ($result = mysql_fetch_array ($query)){
$list .= ''''''''.$result[''''title''''].''''
''''
}
$content .= str_replace ("{ articletable }",$list,$content);
//生成列表結束
// echo $content;
$filename = "test/test.html";
$handle = fopen ($filename,"w"); //打開文件指針,創建文件
/*
檢查文件是否被創建且可寫
*/
if (!is_writable ($filename)){
die ("文件:".$filename."不可寫,請檢查其屬性後重試!");
}
if (!fwrite ($handle,$content)){ //將信息寫入文件
die ("生成文件".$filename."失敗!");
}
fclose ($handle); //關閉指針
die ("創建文件".$filename."成功!");
?
二、分頁問題。
如我們指定分頁時,每頁20篇。某子頻道列表內文章經資料庫查詢為45條,則,首先我們通過查詢得到如下參數:1,總頁數;2,每頁篇數。第二步, for ($i = 0; $i
allpages; $i++),頁面元素獲取,分析,文章生成,都在此循環中執行。不同的是,die ("創建文件".$filename."成功!";這句去掉,放到循環後的顯示,因為該語句將中止程序執行。例:
Code:
以下是引用片段:
$fp = fopen ("temp.html","r");
$content = fread ($fp,filesize ("temp.html"));
$onepage = '''ཐ''''
$sql = "select id from article where channel=''''$channelid''''";
$query = mysql_query ($sql);
$num = mysql_num_rows ($query);
$allpages = ceil ($num / $onepage);
for ($i = 0;$i$allpages; $i++){
if ($i == 0){
$indexpath = "index.html";
} else {
$indexpath = "index_".$i."html";
}
$start = $i * $onepage;
$list = ''''''''
$sql_for_page = "select name,filename,title from article where channel=''''$channelid'''' limit $start,$onepage";
$query_for_page = mysql_query ($sql_for_page);
while ($result = $query_for_page){
$list .= ''''''''.$title.''''
''''
}
$content = str_replace ("{ articletable }",$list,$content);
if (is_file ($indexpath)){
@unlink ($indexpath); //若文件已存在,則刪除
}
$handle = fopen ($indexpath,"w"); //打開文件指針,創建文件
/*
檢查文件是否被創建且可寫
*/
if (!is_writable ($indexpath)){
echo "文件:".$indexpath."不可寫,請檢查其屬性後重試!"; //修改為echo
}
if (!fwrite ($handle,$content)){ //將信息寫入文件
echo "生成文件".$indexpath."失敗!"; //修改為echo
}
fclose ($handle); //關閉指針
}
fclose ($fp);
die ("生成分頁文件完成,如生成不完全,請檢查文件許可權系統後重新生成!");
?
大致思路如此,其中如其它數據生成,數據輸入輸出檢查,分頁內容指向等可酌情在頁面中加入。
在實際文章系統處理過程當中,還有許多問題有待考慮,與動態頁面不同之處,需注意的地方還有很多。但大致思路即是如此,其它方面可舉一反三而得。
Ⅱ 在PHP中有哪些語法是初學者要掌握的天津PHP培訓
1、 PHP在WEB開發中的應用
·收集表單數據
·生成動態網頁
·字元串的處理
·動態輸出圖像
·處理伺服器端文件系統
·編寫資料庫支持的網頁
·回話跟蹤控制
·處理XML文件
·支持利用大量的網路協議
·伺服器端其他相關操作
2、 關於PHP腳本運行
·編寫的php腳本語言需要上傳至WEB伺服器的文檔根目錄下,通過瀏覽器訪問WEB伺服器管理下的php文件就可以運行PHP文件。但是,不能直接使用瀏覽器打開php文件,這樣沒有web伺服器區解析代碼,顯示的也是源代碼。
·在php文件中可以編寫html、css、javascript等語言,但需要使用起始符標記<?php和結束標記?>
3、 PHP語言標記
·<?php?>
·語句分為功能執行語句與結構定義語句
·功能執行語句後面一定要加分號,結構定義語句一定不要帶分號
·與?>這個標記最近的功能執行語句可以不加分號;建議功能執行語句都加分號
·如果?>是腳本語言的結束,那麼?>這個可以不加,建議不要加!很多函數(頭函數)的前面都不允許出現任何的空白,所以在使用require標記時,被包含的php文件結束後一定不要有空白,或者該php文件不加?>結束標記即可。
4、 PHP注釋方法
·單行注釋
//
·多行注釋
/* */ 多行注釋中不能包含單行注釋了
·腳本注釋
#
·文檔注釋
/** */
·注釋的功能:
(1) 寫過不合適的代碼需要注釋不能立即刪除
(2) 注釋可以用來寫幫助文檔,增強程序代碼的可讀性
(3) 注釋代碼可以用來調試程序
(4) 注釋要寫在代碼的上面或右邊
5、 在PHP程序中使用空白符
·空白:空格 tab 換行
·空白符可以增強代碼的可讀性
6、 變數
變數在任何編程語言中都居於核心地位,理解他們就是使用PHP的關鍵所在。
·變數時用於臨時存儲值的容器。
·變數是指在程序運行過程中隨時可以發生變化的量,是程序中數據的臨時存放場所。
·變數可以保存程序運行時用戶輸入的數據,特定運算的結果以及要輸出到網頁上顯示的一段數據等。
總之,變數是用於跟蹤幾乎所有類型信息的簡單工具。
7、 申明變數
·當一個數據需要用到多次時,就可以申明變數。
·申明方式:$變數名=值
·變數的類型是由存儲的值來決定的,申明前不指定類型
·可以連續申明多個變數,例如:$a=$b=$c=$d=」value」.
·isset(); 判斷變數是否存在的函數
·unset(); 刪除(釋放)一個變數的函數。
8、 變數命名
·變數前一定要使用「$」,申明和使用都要有這個符號
·變數名不能以數字開頭
·不能使用php的運算符號,例如:+-*/%&|等
·php可以使用系統關鍵字作為變數名,這其他語言不同的地方
·php變數區分大小寫的,只有變數與常量區分大小寫,其他的不區分(php功能標簽,例如:echo可以寫成ECHO或ecHo等)
·變數名在項目程序中要有意義
·命名習慣:用英文單詞命名時,第一個英文小寫,以後的單詞第一個字母大寫,其他的小寫,例如:aaaBbbCcc。
9、 可變變數(用到比較少)
·一個變數的變數名可以動態地設置和使用
<?php
$one=」###」;
$two=」one」;
$three=」two」;
$four=」three」;
Echo $four.」
」;
Echo $$four.」
」;
Echo $$$four.」
」;
Echo
four.」
」;
?>
輸出結果為:
three
two
one
###
10、 變數的引用賦值
·使用一個&加到要賦值的變數前面(原變數),例如:$a=&$b;
11、 變數的類型
·PHP中有8種變數類型:四種標量+二種復合類型(可以放多個值的變數)+二種特殊類型
·4種標量:整型、布爾型、浮點型、字元串
·2種復合類型:數組+對象
·2種特殊類型:資源類型+null
·var_mp(); 該函數既可以看到變數類型與值
Ⅲ 求一點PHP對TXT文件和文章的操作教程
PHP教程.安裝PHP
安裝PHP
本章將按下列步驟編譯安裝以下軟體:
* Apache v.1.3.4 -- 世界上最流行的Web伺服器。
* gcc v.2.8.1 -- 來源於GNU的C和C++編譯器。
* MySQL v.3.22.16b-gamma -- 世界范圍內許多人使用的資料庫。
* PHP v.3.0.11 -- 本書所主要介紹的軟體。從http://www.php.net(或此站點的鏡象站點)直接下載可以得到較新的版本。本章的其它步驟仍然適用。
* expact -- 用於讀取和處理XML文檔的函數庫。
* phplib -- 用於進行會話管理的PHP函數庫。
* libiodbc -- 主要用於存取在非UNIX計算機中資料庫的ODBC函數庫。
* MyODBC -- PHP、iODBC和MySQL之間的函數庫。
即便如此,本章也並不是介紹編譯應用程序所需要的那些指令,而只是簡單的進行描述。總之,本書的重點是介紹PHP語言,而不是C語言。每一個應用程序的編譯對我來說都十分清楚,希望每個讀者也能沒有困難的進行編譯。假如你確實碰到了一些問題,可以在某個IRC頻道中有禮貌的詢問,或者可以嘗試使用新聞組(可以從http://www.dejanews.com訪問)得到幫助來解決問題。然而,最好的幫助還是來自http://www.php.net 上的PHP郵件列表。
在開始編譯過程之前,讓我們先討論一下如何從錯誤中恢復。在得到有關錯誤的幫助以後,可以採用以下的命令重新初始化源碼目錄:
* rm config.cache--幾乎所有的linux應用程序都使用configure命令來檢查自己的系統,以尋找有關如何剪裁編譯過程的信息。檢查的結果將存貯在一個名為config.cache的文件中。如果移走此文件,將迫使配置程序從頭開始重新檢查系統。
* make distclean--所有的用C語言編寫的Linux應用程序都是用make程序編譯的。make程序會尋找每一個源文件,以確認是需要編譯還是已經編譯過的。make distclean命令可以「重置」所有的源程序,以便能重新編譯它們。
* make clean--有的應用程序不支持make distclean命令,而用make clean命令來代替。make clean命令「重置」所有的源程序,以便能重新編譯它們。
即使要安裝的一些應用程序不支持以上的每個命令,但是試一下這些命令也不會有什麼害處。
注意:Red Hat v5.2使用glibc庫。如果用戶從互聯網中下載或更新在本章中安裝的程序時,必須知道glibc的信息。使用者可以使用rpm -q glibc命令來查出已經安裝的glibc庫的版本號。在作者的系統中,使用rpm -q glibc命令將顯示glibc-2.0.7.29。
2.1 基本概念
也許讀者以前從沒有編譯過Linux應用程序,在這里介紹一些基本概念,以便在出現問題時有可能診斷出問題所在。
tar
tar,即tape archiver,它可以把幾個文件組合成一個文件,並可以選擇是否進行壓縮。這個命令過去通常用來進行備份,以便使數據存儲在磁帶中。當tar文件被壓縮時,它們有一個.gz的後綴;當tar文件沒有壓縮時,它們有一個.tar的後綴。
gcc
gcc 是GNU的C編譯器。它的工作是把人可以看懂的源代碼文件編譯成機器可以讀懂的目標文件。C源文件通常有.c的後綴名,目標文件通常有.o的後綴名。如果編譯工作不能正常進行,就是碰到了一個編譯期的錯誤,或者說:語法錯誤。在大多數情況下,不徹底的編譯通常是編譯器找不到一個或幾個包含文件而產生的。包含文件都有一個.h的擴展名,通常用來定義不同的系統信息,以及將多個不同的.c文件所共有的信息收集在一起。
make
make是一個常用的工具程序,是用來幫助進行編譯的。它的工作是用來只編譯那些還沒有編譯過的源文件。編譯.c文件將生成一個.o文件,如果.c文件比.o文件更新,也就是說到上次編譯之前,源文件被編輯過,那麼make將會重新編譯.c文件。make指令一般是尋找一個Makefile文件,在這個文件中包含有一個或多個能執行的目標,例如,make clean會告訴make執行清除目標。
ld
ld是GNU的鏈接程序。它的工作是把所有的目標文件和庫鏈接起來,創建一個單一的可執行文件。幸運的是,基本上不用手工運行這個程序,因為Makefile將會考慮到所有的編譯細節。
ldconfig
ldconfig會為在多個庫目錄(在/etc/ld.so.conf中指定)中尋找共享庫。共享庫常被多個的應用程序使用,它們的文件名中的某個地方有.so,例如,libqt.so.1.42是一個共享庫。在編譯完畢之後,有可能需要在/etc/ld.so.conf文件中增加一個目錄,並且運行ldconfig -v命令。
./configure
configure將會在計算機中尋找一些關鍵信息,例如,安裝的是哪一種C編譯器,包含文件在哪裡等等。然後,configure將會按照所用的計算機配置重新修改Makefile文件。應該使用./configure來在當前目錄下運行程序,以避免偶然運行$PATH環境變數中的目錄下的其他程序。
符號連接
符號連接允許使用者可以為一個已經現有的文件指定另一個不同的名字。例如,使用者有可能想把一個名為libqt.so.1.42的文件稱為libqt.so.1。符號連接基本上可以使用戶把一個文件復制到另一個不同的目錄下面,但事實上並沒有真正復制此文件。第二個文件實例只是簡單地指向第一個文件實例。使用符號連接至少可以有兩點好處,第一點是符號連接可以節省硬碟空間,少到只有16位元組;第二點有一點微妙,讓我們先看一下一個名為libqt.so.1且指向libqt.so.1.42的符號連接。如果需要升級到libqt.so.1.88,該怎麼辦呢?用戶只要簡單地改變符號連接,使libqt.so.1指向libqt.so.1.88,而非libqt.so.1.42即可。這意味著涉及到libqt.so.1的程序將自動地使用這個庫的新版本。按照慣例,符號連接常用於完整的發布版本號。換句話說,libqt.so.1.88和libqt.so.2.32應該有兩個不同的動態連接(分別為libqt.so.1和libqt.so.2)。
2.2 編譯前的准備工作
以下步驟將為系統做好編譯前的准備工作。
1. mkdir /usr/local/src -- 我選用/usr/local樹作為所安裝應用程序的根目錄。其他人可能選用/usr/opt、/opt或/var目錄。為了更方便的按照本章中的指令操作,請選用/usr/local目錄作為根目錄。當編譯完成以後,用戶可以把這些文件復制到不同的目錄中。
注意:為了能完成本章中的其它步驟,使用者必須具備root許可權。
2. cd /usr/local/src--轉到源文件目錄下。
3. 下載以下文件(可以從http://www.mtolive.com/phpbook站點下載),或者從本書隨機附帶的光碟中,復制這些文件到/usr/local/src目錄下:
. apache_1.3.4.tar.gz
. gcc-2.8.1.tar.gz
. mysql-3.22.16b-gamma.tar.gz
. php-3.0.11.tar.gz
. expat.tar.gz
. phplib.tar.gz
. libiodb-2.50.3
. myodbc-2.50.24-src
4. 使用tar命令解壓縮以上文件。tar的x選項為解開選項,v選項將在屏幕上顯示文檔中解出來的文件名,z選項為解壓縮選項,f選項用於在命令行中指定.tar文件名。
tar xvzf apache_1.3.4.tar.gz
tar xvzf gcc-2.8.1.tar.gz
tar xvzf mysql-3.22.16b-gamma.tar.gz
tar xvzf php-3.0.11.tar.gz
tar xvzf expat.tar.gz
tar xvzf phplib.tar.gz
5. gcc -v
確定系統中現有gcc的版本。如果你的系統不是v2.7.2.3,在下面的操作步驟中採用你的gcc版本號替換v.2.7.2.3。
6. cp `which gcc` /usr/bin/gcc-2.7.2.3
如果需要,把現有的gcc備份,以便以後使用。Linux的另一個優點是可以很容易在目錄下存儲一個程序的多個版本。
7. httpd -v
確定系統中的Apache的版本號。如果你的系統中的Apache不是v1.3.4,在下面的操作步驟中使用你的版本號替換v1.3.4。
8. mv `which httpd` /usr/sbin/httpd-1.3.4
如果需要,把現有的Apache備份,以便以後使用。
2.3 編譯C編譯器gcc
使用者應該安裝、編譯程序的第一個程序就是C編譯器。隨Red Hat v5.2附帶的C編譯器是gcc v2.7.2.3,由於它的版本比較低,以至於不能正確的編譯PHP。然而gcc v.2.7.3可以用來編譯版本較高的gcc v2.8.1。
編譯新版本的gcc需要執行:
1. cd /usr/local/src/gcc-2.8.1
轉到gcc的頂級目錄下。
2. ./configure -prefix=/usr/local/gcc
運行配置程序,強制安裝程序在後面的安裝過程中使用/usr/local/gcc作為gcc的安裝目錄。
3. make bootstrap LANGUAGES="c c++" BOOT_CFLAGS="-g -02"
編譯新的C和C++編譯器。
4. make install LANGUAGES="c c++" BOOT_CFLAGS="-g -02"
安裝新的C和C++編譯器。
5. mv /usr/local/gcc/bin/gcc /usr/local/gcc/bin/gcc-2.8.1
把新的gcc編譯器重新命名,使它的名字中含有版本號。
6. ln -s \
/usr/local/gcc/bin/gcc-2.8.1 \
/usr/bin/gcc-
給新編譯過的gcc可執行文件創建一個符號連接/usr/bin/gcc。
7. gcc -v
顯示gcc的版本號。如果編譯和安裝都正常的話,將顯示v.2.8.1。
2.3 編譯MySQL
現在來編譯MySQL。在編譯工作完成之後,就可以使用MySQL的應用程序來測試安裝。
1. cd /usr/src/mysql-3.22.16a-gamma
轉到MySQL的頂級目錄下。
2. ./configure --prefix=/usr/local/mysql
運行配置程序,強制安裝程序在後面的安裝過程中使用/usr/local/mysql作為MySQL的安裝目錄。
3. make
編譯MySQL。
4. make install
安裝MySQL。
5. echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
將MySQL庫所在的目錄添加進配置文件中。這樣,當Linux啟動或者執行ldconfig命令時,將會在該配置文件中的目錄里搜索庫文件。
6. ldconfig -v | grep libmysqlclient
ldconfig命令能讀取/etc/ld.so.conf文件中列出的目錄,並對在那些目錄里找到的庫文件進行緩沖。grep命令在ldconfig命令的大量輸出結果中查找MySQL庫文件,並限定文本以類似下面方式進行顯示:
libmysqlclient.so.6 => libmysqlclient.so.6.0.0.
7. echo "/usr/local/mysql/bin/safe_mysqld > /dev/null &" >> /etc/rc.d/rc.local
將MySQL啟動指令添加到/etc/rc.d/rc.local文件中,這樣每次啟動Linux後就會自動運行MySQL。
8. ./scripts/mysql_install_db
初始化資料庫。
9. /usr/local/mysql/bin/safe_mysqld > /dev/null &
啟動MySQL伺服器作為後台程序,為了測試安裝,MySQL伺服器必須啟動。
10. ln -s \
/usr/local/mysql/bin/mysql \
/usr/bin/mysql
我比較喜歡在/usr/bin目錄下為安裝目錄建立符號鏈接。這一方法減少了PATH環境變數中的目錄數量,還可以將不希望其他人運行的MySQL工具程序隱藏起來,(例如,mysqladmin命令)。另一方法是將命令PATH="$PATH:/usr/local/mysql/bin"放在/etc/profile文件中。以上兩種方法都很可以採用。
11. ln -s\
/usr/local/mysql/bin/mysqlshow \
/usr/bin/mysqlshow
該指令是讓一般用戶都可以運行mysqlshow命令。
2.4 測試MySQL
在繼續Apache和PHP編譯之前,首先來測試MySQL的安裝是否成功。正式發布的MySQL帶有許多有用的工具,這里我們只使用mysql和mysqlshow命令來進行測試。(如果對資料庫不熟悉,請不用擔心,諸如用戶、表、記錄等資料庫的概念將在第六章「資料庫和SQL」中加以介紹。)
mysqladmin的作用是建立和刪除資料庫、檢查SQL的狀態,以及其他一些用途。首先,通過檢查版本號以確認是否已經正確安裝了MySQL:
>PATH="usr/local/mysql/bin:$PATH"
>mysqladmin version
Ver 7.8 Distrib 3.22.16a-gamma, for pc-linux-gun on i686 TCX Datakonsult AB, by Monty
Server version 3.22.16a-gamma
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 2 hours 30 min 39 sec
Threads: 1 Questions: 7 Slow queries: 0
Opens: 6 Flush tables: 1 Open tables: 2
可以用以下命令觀看mysqladmin的所有功能.
mysqladmin --help | less
也許mysqlshow是更讓人激動的工具,它能夠列出資料庫、表和欄位名,如下所示:
清單2.1 mysqlshow--顯示資料庫,表和欄位名清單
Page 18(第13行)-19(倒數第10行) , 清單 2.1
最後要介紹的MySQL工具是mysql,這個程序將深入到MySQL的中心,並且可以使你可以立刻在Linux命令行提示下執行SQL語句。在shell模式下運行mysql。
Page 19(倒數第5行)-20(倒數第5行)
小心:設置密碼要使用password()函數。如果需要進一步了解,請查閱MySQL文檔。
小心:在系統進入正常工作模式的時候,請選用一個比「password」更好的root密碼。
2.5 編譯iODBC和MyODBC
iODBC是一個實現開放性資料庫互連(Open Database connectivity)協議的函數庫。它主要用於連接運行於Microsoft Windows的資料庫引擎。
1. cd /usr/local/src/libiodbc-2.50.3
轉到iODBC目錄。
2. ./configure \
--prefix=/usr/local/iodbc \
--with-iodbc-inidir=/usr/local/etc
運行配置程序,並強制設置iODBC為安裝到目錄/usr/local/iodbc下。此外,應確認odbc的初始化文件為/etc/odbc.ini。
3. make
4. make install
把庫文件復制到目錄/usr/local/iodbc/lib下,並且把包含文件復制到目錄/usr/local/iodbc/include下。
5. cd /usr/local/src/myodbc-2.50.24
轉到MyODBC目錄下。
6. ./configure \
--prefix=/usr/local/myodbc \
--with-mysql-sources=/usr/local/mysql-3.22.16a-gamma \
--with-odbc-ini=/etc/odbc.ini \
--with-iodbc=/usr/local/iodbc
運行MyODBC配置程序。
7. make
8. make install
把庫復制到目錄/usr/local/myodbc/lib下。
2.6 編譯PHP
編譯PHP比編譯以前的應用程序更復雜,這是因為編譯PHP事實上是expat、Apache和PHP的組合。編譯的結果將生成一個帶有PHP的Apache版本。為了要編譯PHP,可以採用以下步驟:
1. cd /usr/local/src/expat
轉到expat目錄。
2. make
編譯expat源文件。
3. 把以下命令加到Makefile文件中,必須保證在輸入ar和ralib之前使用的是Tab鍵。
libexpat.a: $(OBJS)
ar -rc $@ $(OBJS)
ranlib $@
4. make libexpat.a
把expat目標文件組合成庫文件。
5. mv libexpat.a /usr/local/lib
PHP配置文件在/usr/local/lib目錄下尋找libexpat.a文件。把libexpat.a文件移到PHP配置文件已知的目錄下,可以為以後的操作減少麻煩。
6. cd /usr/local/src/php-3.0.11
轉到PHP的頂級目錄下。
7. mkdir /usr/local/include/xml
確認/usr/local/include/xml目錄是存在的。
8. ln -s \
/usr/local/src/expat/xmltok/xmltok.h \
/usr/local/include/xml/xmltok.h
當能創建符號連接時,為什麼還要復制呢?
9. ln -s \
/usr/local/src/expat/xmlparse.h \
/usr/local/include/xml/xmlparse.h
這是PHP為了能夠正確地被編譯所需要的另一個包含文件。
10. cd /usr/local/src/apache_1.3.4
轉到Apache的頂級目錄下。
11. ./configure -prefix=/usr/local/apache
運行配置程序,強制設置Apache安裝目錄為/usr/local/apache。
12. cd /usr/local/src/php-3.0.11
轉到PHP的頂級目錄下。
13. ./configure \
--with-apache=../apache_1.3.4 \
--with-iodbc=/usr/local/iodbc \
--with-mysql=/usr/local/mysql \
--with-xml
運行配置程序,並且告訴配置程序支持Apache、MySQL和XML。
14. make
編譯PHP源文件。
15. make install
安裝已編譯的文件。PHP庫文件會被放在Apache的模塊目錄下,這樣可以在編譯Apache時能找到它們。
16. cd /usr/local/src/apache_1.3.4
轉到Apache的頂級目錄下。
17. ./configure \
--prefix=/usr/local/apache \
--active-mole=src/moles/php3/libphp3.a
再一次配置Apache,這次告訴Apache要載入PHP模塊。
18. make
編譯Apache源文件。
19. make install
安裝已編譯的文件。
20. mv \
/usr/local/apache/bin/httpd \
/usr/local/apache/bin/httpd-1.3.4
重新命名新創建的httpd可執行文件,這樣就能夠安裝多種版本。
21. ln -s \
/usr/local/apache/bin/httpd-1.3.4 \
/usr/sbin/httpd
建立一個指向新的可執行文件的符號鏈接。
22. httpd -v
證實可以訪問新的可執行文件。該命令的執行結果將顯示版本1.3.4,而且建立日期也應該正確無誤。
23. 編輯/usr/local/apache/conf/http.conf文件,搜索AddType並確認下列行未加註釋。
AddType application/x-httpd-php3 .phtml
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
24. 接著編輯/usr/local/apache/conf/http.conf文件,搜索DirectoryIndex並將index.php3放在行尾。
25. 創建一個名為/usr/local/local/php3.ini的文件,該文件應包含如下的命令行:
include_path=.:/usr/local/apache/php/
auto_prepend_file=/usr/local/apache/php/prepend.php3
track_vars = on
magic_quotes_gpc = on
sendmail_path /usr/sbin/sendmail -t
26. ln -s \
/usr/local/src/php-3.0.11/doc/manual.html \
/usr/local/src/php-3.0.11/doc/index.html
建立一個符號鏈接,這樣絕大多數Web瀏覽器就會正確地自動顯示PHP文件起始頁。
27. ln -s \
/usr/local/src/php-3.0.11/doc \
/usr/local/apache/htdocs/phpdocs
建立一個符號鏈接,這樣就可以通過http://localhost/phpdocs/, 來訪問PHP文檔。
28. 創建一個叫做/usr/local/apache/htdocs/robots.txt的文件,這樣就可避免搜索引擎為PHPLIB,phpMyAdmin和PHP文件建立索引,新創建的文件應包括如下設置行:
#robots.txt for (hostname)
User-agent *
Disallow: /phpdocs/
Disallow: /php/
Disallow:/phpMyAdmin/
2.7 安裝PHPLIB
在閱讀第15章「處理並發的訪問」之前,應先安裝PHPLIB,可以按照下列步驟進行安裝:
1. 以root用戶或其他任何可以在/usr/local/apache目錄下寫文件的用戶注冊。
2. cd /usr/local/apache/
在開始下載文件之前,進入到Web伺服器的頂級目錄下。
3. 從如下Web網址下載最新版本的文件,注意gz後綴的文件名,以免它的文件名phplib.tar.gz被改動。
http://phplib.shonline.de/
4. tar xv2f phplib.tar.gz
解壓縮PHPLIB模塊。
5. 編輯/usr/local/lib/php3.ini文件,應包括下列設置內容:
include_path=.:/usr/local/apache/phplib-6.1/php
auto_prepend_file = /usr/local/apache/phplib-
6.1/php/prepend.php3
track_vars = on
magic_quotes_gpc = on
sendmail_path /usr/sbin/sendmail -t
6. 建立一個名為poe_sessions的mysql資料庫。我一般使用phpMyAdmin,如果願意,也可以使用SQL命令創建資料庫。
7. cd /usr/local/apache/phplib-6.1/stuff
進入建表目錄下。
8. mysql php_book --user=root --password <
create_database.mysql
創建PHPLIB所需要的資料庫表。
9. 使用以下值在mysql資料庫表中增加一條新記錄:
host: %
password: <-- no password.
select_priv: Yes
insert_priv: Yes
update_priv: Yes
delete_priv: Yes
for users named "kris","user01",and "user02".
注意:也可以使用如下SQL語句:
INSERT INTO
user
(
Host
,User
,Password
,Select_priv
,Insert_priv
,Update_priv
,Delete_priv
)
VALUES (
'%'
, 'kris'
, ''
, 'Y', 'Y', 'Y', 'Y'
)
10. 使用以下值在mysql資料庫的db表中增加一條新記錄:
host: %
db: poe_sessions
select_priv: Yes
insert_priv: Yes
update_priv: Yes
delete_priv: Yes
for users named "kris","user01",and "user03".
注意:也可以使用如下SQL程序。
INSERT INTO
db
(
Host
,Db
,User
,Select_priv
,Insert_priv
,Update_priv
,Delete_priv
)
VALUES (
'%'
, 'poe_sessions '
, 'kris'
, 'Y', 'Y', 'Y', 'Y'
)
11. /usr/local/mysql/bin/mysqladmin -u root -p reload
重新裝載MySQL許可權表。
12. 在php_book資料庫中創建兩個PHPLIB已認證的用戶(user01和user02),可以使用如下SQL語句:
INSERT INTO
auto_user
(
uid
,username
,password
,perms
) VALUES (
''
,'user01'
,'test'
,'admin'
)
INSERT INTO
auth_user
(
uid
,username
,password
,perms
) VALUES (
''
,'user02'
,'test'
,'admin'
)
13. mv\ /use/local/apache/phplib-6.1/pages \
/use/local/apach/htdocs
將演示子目錄置於Web伺服器的根目錄下,這樣就可以用瀏覽器訪問它。
14. 編輯文本文件/usr/local/apache/htdocs/robots.txt,使它包括如下內容:
Disallow: /phplib/
15. 使用Web瀏覽器訪問http://localhost/phplib/。將會看到如圖2.1所示頁面。
Page 29 圖2.1
圖2.1 重新裝載兩次以後出現的PHPLIB演示頁面
2.8 測試Linux環境下的ODBC
對所裝軟體進行基本測試是很重要的,特別是需要手工編輯配置文件時。如下的測試可確保你的MySQL驅動程序運行正常,並且編譯的iODBC庫文件也是正確無誤的。
1. 使用清單2.1所列的內容,建立一個名為/usr/local/etc/odbc.ini的文件。
清單 2.2 /usr/local/etc/odbc.ini- 系統ODBC 配置文件
;
;odbc.ini
;
[ODBC Data Sources]
mysql = mysql
[php_book]
driver = /usr/local/myodbc/lib/libmyodbc.so
host = localhost
database = mysql
user = root
2. cd /usr/local/src/libiodbc-2.50.3/samples
3. ./odbctest
運行ODBC測試程序。
4. DSN=mysql;PWD=password
告訴測試程序要訪問的數據源。
5. select host,user from user
在提示符下執行一個SQL語句,如果有回應,說明iODBC和MySQL已經可以使用了。
現在,在計算機中已經安裝好了ODBC,由於它的安裝步驟不太清晰而且文檔又很少,所以本章中講述了其安裝和測試指令,然而鑒於ODBC主要是一項Microsoft技術,且很少在Linux中用到,所以這里是本書中最後一次有關介紹。
2.9 總結:
本章講述了如何獲取PHP,及在計算機中進行安裝所需要的步驟,編譯了內建PHP的特定版本Apache 伺服器。同時,還安裝了將在第15章「中場四:處理並發訪問」中用所到的PHPLIB。
Ⅳ 3.PHP核心技術
Cookie 和 session 是兩種不同的存儲機制。cookie 是從一個外部頁面到下一個頁面的數據傳遞的方法,它一般是存儲在客戶端的。Session 是讓數據在頁面當中具有持續有效的一個方法。他一般是存儲在伺服器端。
Cookie 是一種在客戶瀏覽器端存儲數據,並且以此來去跟蹤和識別用戶的一種機制。簡單的說呢,cookie 是 Web 伺服器暫時存儲在用戶的硬碟上的一個文本文件。
web 伺服器可以通過 Cookie 包含的信息來篩選或維護這些信息。用來判斷 HTTP 傳輸的狀態。
在 PHP 中通過 setcookie()函數創建 Cookie,在創建 Cookie 之前,要了解 Cookie 是 HTTP 頭標的組成部分。
通過超全局變數數組$_COOKIE[ ]來讀取瀏覽器端的 Cookie 值
是自動刪除Cookie數據,如果設置了失效時間,瀏覽器會記住Cookie數據,即使重啟計算機,只要時間不到,都依然有效。
1.使用 setcookie()函數刪除 Cookie
2.在瀏覽器中手動刪除
如果 Cookie 不設定失效時間,就表示它的生命周期,就為瀏覽器會話的期間的這個時間。只要關閉瀏覽器,Cookie 就會自動消失。這種 cookie 被稱之為叫會話 cookie。一般情況下,啊,不存在硬碟上的,而是保存在這個內存里邊。
如果設置失效時間,瀏覽器會把 cookie 保存到硬碟上,再次打開瀏覽器的時候,依然會有效,只要時間未過期,就一直有效。直到到達有效時間。
雖然,cookie 可以長期保存在客戶端的瀏覽器當中。但是瀏覽器最多允許存儲 300 個 cookie 文件。而且每一個 Cookie 文件支持最大容量只有 4kb。每一個域名最多隻支持 20 個 cookie。如果達到限制,瀏覽器會自動隨機的刪除 cookie 文件。
Session 在翻譯的時候呢也翻譯為「會話」。他原本的意思就是指,有始有終的一系列的動作或者消息。比如你打電話的時候從拿起電話撥電話號碼一直到掛斷電話這一系列的過程就可以稱之為一個 Session。
啟動一個 session 會話時,會生成一個隨機且唯一的 session_id。也就是 session 的文件名。session_id 存儲在伺服器的內存中。當你關閉頁面的時候,這個 id 會自動注銷。重新再登錄這個頁面的時候呢,會再次生成一個隨機且唯一的 id。
創建一個會話需要的步驟
啟動會話->注冊會話->使用會話->刪除會話
1.啟動會話 注冊會話
啟動 PHP 會話的方式有兩種方式:1、使用 session_start()函數,2.使用 session_register()函數為會話創建一個變數來隱含的啟動會話
3.刪除會話
1.刪除單個
2.刪除多個
3.結束當前會話
1.session_set_cookie_params() 設置 session 的失效時間,這個函數是 Session 結合 Cookie 設置失效時間。
此函數在一些瀏覽器上會出現問題。所以一般建議手動設置。
2.使用 setcookie() 可以設置 Session 的失效時間,
使用 GD2 函數庫可以實現對各種圖形圖像的處理,先使用 GD2 函數庫來創建畫布。通過 imagecreate()實現.
使用 imageTTFText()函數將文字以 TTF 字體輸出在圖像中。 1.使用 header()函數定義輸出的圖像類型。
2.imagecreatefromjpeg()函數載入圖片。
3.imagecolorallocate()函數設置輸出字體顏色。 4.定義輸出的中文字元串所使用的字體。 5.通過 iconv()函數對輸出的中文字元串的編碼格式進行轉換。 6.使用 imageTTFText()函數向圖片中添加文字。 7.創建圖像,釋放資源。
文件處理包括讀取、關閉、重寫等。
打開/關閉文件使用 fopen()函數和 fclose()函數。(千萬小心,別誤刪了文件)
1.打開文件/關閉文件
1.從文件中讀取數據
2.文件寫入
php 除了可以對文件進行讀寫之外,對文件本身同樣也可以進行操作。比如說復制重命名,查看修改日期,等等都可以。
1.打開目錄
使用 opendir()函數打開目錄
2.關閉目錄
使用 closedir()函數關閉目錄
1.使用 scandir()函數
2.readdir() 函數
chmod($pathname,許可權);
許可權分別使用3個值:
要想去順利地實現這個上傳功能,我們要在php.ini這個文件裡面去修改它的配置.
$_FILES變數它存儲的是上傳文件的相關信息。對於我們去完成上傳文件的這個功能提供一些參數信息。
先在a.html 頁面完成表單元素的創建,使用<input type="file">元素提供上傳文件的入口。
move_uploaded_file(string filename,string destinationnpath)函數上傳文件存儲到指定的位置。
創建upload.php 文件用來處理客戶端上傳過來的文件的信息,包括文件的存儲。
Ⅳ php設置編碼的頭文件怎樣寫
php設置編碼默認就是utf8編碼
utf編碼 :header("Content-type: text/html; charset=utf-8");
gbk編碼 :header("Content-type: text/html; charset=gb2312");
big5編碼 :header("Content-type: text/html; charset=big5");
注意事項:通常情況以上代碼放在php頁面的首頁。
(5)php技術文檔怎麼寫擴展閱讀:
PHP優勢
1.開放的源代碼:所有的PHP源代碼事實上都可以得到。
2.免費的:和其它技術相比,PHP本身免費且是開源代碼。
3.快捷性:程序開發快,運行快,技術本身學習快。
4.跨平台性強:PHP是運行在伺服器端的腳本,可運行在UNIX、LINUX、WINDOWS、Mac OS下。
5.效率高:PHP消耗相當少的系統資源。
6.圖像處理:用PHP動態創建圖像。
7.面向對象:在php4,php5中,面向對象方面都有了很大的改進,php完全可以用來開發大型商業程序。
8.專業專註:PHP支持腳本語言為主,同為類C語言。
Ⅵ PHP5教程之文件操作
一 引論
在任何計算機設備中 文件是都是必須的對象 而在web編程中 文件的操作一直是web程序員的頭疼的地方 而 文件的操作在cms系統中這是必須的 非常有用的 我們經常遇到生成文件目錄 文件(夾)編輯等操作 現在我把php中的這些函數做一詳細總結並實例示範如何使用 關於對應的函數詳細介紹 請查閱php手冊 此處只總結重點 和需要注意的地方 (這在php手冊是沒有的 )( lian )
二 目錄操作
首先介紹的是一個從目錄讀取的函數 opendir() readdir() closedir() 使用的時候是先打開文件句柄 而後迭代列出:
<?php $base_dir = filelist/ ; $fso = opendir($base_dir); echo $base_dir <hr/> ; while($flist=readdir($fso)){ echo $flist <br/> ; } closedir($fso) ?>
這是講返迴文件目錄下面的文件已經目錄的程序( 文件將返回false)
有時候需要知道目錄的信息 可以使用dirname($path)和basename($path) 分別返迴路徑的目錄部分和文件名名稱部分 可用disk_free_space($path)返回看空間空餘空間
創建命令:
mkdir($path )
是許可權碼 在非window下可用umask()函數設置
rmdir($path)
將刪除路徑在$path的文件
dir directory 類也是操作文件目錄的重要類 有 個方法 read rewind close 這是一個仿面向對象的類 它先使用的是打開文件句柄 然後用指針的方式讀取的 這里看php手冊:
<?php$d = dir( /etc/php );echo Handle: $d >handle /n ;echo Path: $d >path /n ;while (false !== ($entry = $d >read())) { echo $entry /n ;}$d >close();?>
輸出:
Handle: Resource id # Path: /etc/php apachecgicli
文件的屬性也非常重要 文件屬性包括創建時間 最後修改時間 所有者 文件組 類型 大小等
下面我們重點談文件操作
三 文件操作
A 讀文件
首先是一個文件看能不能讀取(許可權問題) 或者存在不 我們可以用is_readable函數獲取信息
<?php$file = dirlist php ;if (is_readable($file) == false) { die( 文件不存在或者無法讀取 );} else { echo 存在 ;}?>
判斷文件存在的函數還有file_exists(下面演示) 但是這個顯然無is_readable全面 當一個文件存在的話可以用
<?php$file = filelist php ;if (file_exists($file) == false) { die( 文件不存在 );}$data = file_get_contents($file);echo entities($data);?>
但是file_get_contents函數在較低版本上不支持 可以先創建文件的一個句柄 然後用指針讀取全部:
$fso = fopen($cacheFile r ); $data = fread($fso filesize($cacheFile)); fclose($fso);
還有一種方式 可以讀取二進制的文件:
$data = implode( file($file));
B 寫文件
和讀取文件的方式一樣 先看看是不是能寫:
<?php$file = dirlist php ;if (is_writable($file) == false) { die( 我是雞毛 我不能 );}?>
能寫了的話可以使用file_put_contents函數寫入:
<?php $file = dirlist php ; if (is_writable($file) == false) { die( 我是雞毛 我不能 ); } $data = 我是可鄙 我想要 ; file_put_contents ($file $data); ?>
file_put_contents函數在php 中新引進的函數(不知道存在的話用function_exists函數先判斷一下)低版本的php無法使用 可以使用如下方式:
$f = fopen($file w ); fwrite($f $data); fclose($f);
替換之
寫文件的時候有時候需要鎖定 然後寫:
function cache_page($pageurl $pagedata){ if(!$fso=fopen($pageurl w )){ $this >warns( 無法打開緩存文件 );//trigger_error return false; } if(!flock($fso LOCK_EX)){//LOCK_NB 排它型鎖定 $this >warns( 無法鎖定緩存文件 );//trigger_error return false; } if(!fwrite($fso $pagedata)){//寫入位元組流 serialize寫入其他格式 $this >warns( 無法寫入緩存文件 );//trigger_error return false; } flock($fso LOCK_UN);//釋放鎖定 fclose($fso); return true; }
C 復制 刪除文件
php刪除文件非常easy 用unlink函數簡單操作:
<?php $file = dirlist php ; $result = @unlink ($file); if ($result == false) { echo 蚊子趕走了 ; } else { echo 無法趕走 ; } ?>
即可
復制文件也很容易:
<?php $file = yang txt ; $newfile = ji txt ; # 這個文件父文件夾必須能寫 if (file_exists($file) == false) { die ( 小樣沒上線 無法復制 ); } $result = ($file $newfile); if ($result == false) { echo 復制記憶ok ; } ?>
可以使用rename()函數重命名一個文件夾 其他操作都是這幾個函數組合一下就能實現的
D 獲取文件屬性
我說幾個常見的函數:
獲取最近修改時間:
<?php $file = test txt ; echo date( r filemtime($file)); ?>
返回的說unix的時間戳 這在緩存技術常用
相關的還有獲取上次被訪問的時間fileatime() filectime()當文件的許可權 所有者 所有組或其它 inode 中的元數據被更新時間 fileowner()函數返迴文件所有者
$owner = posix_getpwuid(fileowner($file));
(非window系統) ileperms()獲取文件的許可權
<?php$file = dirlist php ;$perms = substr(sprintf( %o fileperms($file)) );echo $perms;?>
filesize()返迴文件大小的位元組數:
<?php
// 輸出類似 somefile txt: bytes
$filename = somefile txt ; echo $filename : filesize($filename) bytes ;
?>
獲取文件的全部信息有個返回數組的函數stat()函數:
<?php $file = dirlist php ; $perms = stat($file); var_mp($perms); ?>
那個鍵對應什麼可以查閱詳細資料 此處不再展開
四 結束語
lishixin/Article/program/PHP/201311/21262
Ⅶ 簡歷中php項目經驗怎麼寫參考範文
項目 經驗 是php求職者簡歷中向用人單位介紹、推薦自我的名片,以下是我精心推薦的一些簡歷中的php項目經驗 範文 ,一起來學習下吧!
簡歷中的php項目經驗範文(一)
**公司
起止年月:2009-09 ~ 至今
公司性質: 民營企業
所屬行業:計算機/互聯網/通信/電子
擔任職位: PHP工程師
工作描述: 1.負責網站/的開發及代碼及資料庫優化等工作
2.配合其他部門開發中小型應用項目。
3.實現其他項目與PHP項目對接,webservice。
離職 原因: 還未離職
**公司
起止年月:2007-11 ~ 2009-05
公司性質: 私營企業
所屬行業:互聯網/電子商務
擔任職位: 開發(各個項目主負責人)
工作描述: php開發,開發客戶定製項目,涉及項目類型比較廣泛。
離職原因: 工資太少
簡歷中的php項目經驗範文(二)
人事管理系統 (應用程序)
軟體環境: WAMP
編程工具: EditPlus
責任描述: 組內討論需求分析以及數據建模,功能獨立開發完成
項目描述: 無論對於大型公司,中小型公司,都避免不了對員工的管理,對於每個公司的管理者,在任何方面都需要一個既提供標准有提供管理的系統;對於公司的員工也希望能夠了解自己的表現及在公司的職位、職責;
讓公司 對員工的管理更方便,通過本系統能有效地管理工資發放、員工的考勤動態
還可實現員工的自我查看和管理;以提高公司的執行效率和經濟效益。
項目感想: 該項目主要應用了 smarty + Ajax等技術由於php是一種弱的語言,並不能實現面向對象的多態(重載),所以只是用到了面向對象的編程思想。在開發的過程中也使我更加熟悉基於Smarty + CMS的開發模式。
天元茶葉網(168二次開發)
軟體環境: WAMP
開發工具: ZendStudio-5.5.0
項目描述: 本次開發運用的是php168 v6 版本的二次開發!
這個版本主要是標簽的使用,它實現了內容與設計的結合!方便快捷
本次開發的是茶葉網,實現了php168 v6版本的功能
項目感想: 首次研究二次開發項目,對二次開發有較好的理解!
根據客戶的需求,然後利用產品的內核,進行系統的擴展和修改。
Ecshop二次開發
軟體環境: WAMP
開發工具: ZendStudio-5.5.0
項目要求: 1、去掉網站中所有關於ecshop的信息;
2、給網站起個名字,比如,Tbshop。請把首頁中“歡迎光臨本店”修改為“你好,歡迎光臨我的網店!”
3、去掉底部查詢信息的顯示
4、去掉首頁版權信息
5、修改產品圖片大小
6、請發布首頁公告:“ 春節 快樂!”,並在文件中找到網站公告代碼的位置;
7、網站關閉了注冊,請修改默認顯示“該網店暫停注冊”,改為”網站正在測試謝絕注冊,謝謝合作“;
8、刪除商品顯示頁的商品點擊率
項目感想: 對二次開發又有了深入的了解,在開發過程中熟悉了網上購物的過程,購物車的實現
幽冥茶網(ThinkPHP 框架開發)
軟體環境: WAMP
開發工具: ZendStudio-5.5.0
項目描述: 運用thinkphp框架技術開發網站
項目感想: 了解框架技術,就是根據框架的結構在什麼地方寫什麼樣的代碼!
簡歷中的php項目經驗範文(三)
公司名稱: xxx 教育 機構起止年月:2008-05 ~ 2008-10
公司性質: 私營企業所屬行業:教育事業
擔任職務: 教務助理
工作描述: 協助教務相關事務處理
離職原因: 謀求更大發展空間
公司名稱: 廣州多迪網路公司起止年月:2008-03 ~ 2008-10
公司性質: 私營企業所屬行業:計算機業
擔任職務: 實習
工作描述: 參加PHPCINA培訓(全程班)
個人作品:南方傳媒DIV布局、多彩世界網站的製作(SMARTY應用)、個人主頁(ASP製作)
離職原因: 實習期到
公司名稱: 廣州票務中心起止年月:2006-04 ~ 2007-08
公司性質: 所屬行業:
擔任職務: 兼職
工作描述: 2006.4 廣州票務中心做導購員,售票員,負責旅客的火車銷售工作,被學院評為“春運工作標兵”。
2006.8 廣州電腦城做兼職。
2007.7-2007.8 神州數碼有限公司,網路維修實習員。
離職原因:
簡歷中的php項目經驗範文(四)
姓名:xx
目前所在:天河區年齡:27
戶口所在:廣西國籍:中國
婚姻狀況:未婚民族:漢族
培訓認證:未參加身高:165 cm
誠信徽章:未申請體重:53 kg
人才測評:未測評
我的特長:
求職意向
人才類型:普通求職
應聘職位:軟體工程師:工程師,資料庫工程師/管理員:程序員
工作年限:4職稱:無職稱
求職類型:全職可到職日期:隨時
月薪要求:面議希望工作地區:廣州,深圳,東莞
工作經歷
廣東優勢傳媒有限公司 起止年月:2009-09 ~ 2010-06
公司性質:私營企業所屬行業: 廣告 /媒體
擔任職位:PHP工程師
工作描述:網站、電子商城、公司OA、人事系統的開發與維護,伺服器的管理與配置
具體項目有:
奇聲網
華斯度坤士生活雜志
廣州星網
一鍵商機
離職原因:拖欠工資
廣州迎新豐科訊有限公司 起止年月:2006-07 ~ 2009-09
公司性質:私營企業所屬行業:計算機軟體
擔任職位:ERP開發工程師
工作描述:1.ERP:
對ERP系統的ASP+VB版、ASP.NET(C#)版ERP進行二次開發,熟悉塑膠玩具、服裝、印刷等行業ERP管理軟體流程,具有BOM、工作單、套件工單、報價單,成本清單等的設計,能設計多種復雜報表,如成本一覽表,模件需求表,層次BOM,BOM代用表,盤點,標簽等報表。
2.零售管理軟體:
採用C# Winform,參照多層結構模式及其他成熟架構進行設計,明確各層間分工,熟悉系統的前台系統(POS),後台系統,報表系統流程與設計,對小票列印、錢箱、顧客顯示屏、電子稱、掃描儀等相關外設的程序控制
離職原因:公司搬遷
廣州麒興科技有限公司 起止年月:2005-11 ~ 2006-07
公司性質:私營企業所屬行業:計算機/互聯網/通信/電子
擔任職位:程序員
工作描述:對公司 公交車線路查詢系統、企業簡訊息平台開發,以及防偽標簽管理系統維護
離職原因:公司轉型
志願者經歷
教育背景
畢業 院校:廣州白雲工商高級技工學校
最高學歷:大專獲得學位:畢業日期:2006-07
專 業 一:程序設計專 業 二:
起始年月終止年月學校(機構)所學專業獲得證書證書編號
2000-092003-07廣西容縣職業中專高中--
2003-092006-07廣州白雲工商高級技工學校大專--
語言能力
外語:英語一般粵語水平:優秀
其它 外語能力:
國語水平:優秀
工作能力及其他專長
專業技能:
* 熟悉C#、ASP、VB、PHP多種開發語言,使用html、DIV+CSS、Javascript、Ajax等技術進行頁面設計,掌握SQL Server、MySQL、Access、SQLite等資料庫,能編寫高效復雜的SQL語句、存儲過程,有百萬級數
據快速查詢優化經驗
* 熟悉C#的B/S和C/S應用程序開發,掌握ADO.NET、COM、COM+、簡單控制項開發
* 熟悉VB、ASP組合開發,掌握ADO、COM、DLL組件
* 多種模式系統架構設計經驗,了解ORM框架設計思想、三層架構分析,能熟練編寫各種介面、抽象類、基類、派生類或反射等
* 熟悉在Windows、Linux系統下進行伺服器環境配置,如:PHP + Apache + Mysql、FTP
* 熟悉使用與建立源碼庫,如VSS、SVN
* 掌握使用多種報表工具,如Crystal Report、IReport、FastReport、SpagoBI
* 熟悉使用多種框架或思想進行二次開發或設計,C#:PetShop、Hibernate等; PHP:Ecshop、DEDECMS、Discuz等;
* 能對軟體項目需求分析,進行系統框架和整體功能模塊的詳細設計及規劃,編寫相應的技術文檔、使用手冊;
* 有一定的英文文檔閱讀能力
參與項目:
* 塑膠玩具、印刷、服裝等行業ERP系統開發 (VB + ASP + MS Sql, C# + MS Sql, PHP + Mysql)
* 零售業管理軟體的系統架構、流程分析 (C# Winform + MS Sql + Access、採用該架構可以輕松擴展支持其他類型資料庫,如Oracle)
* OA、人事管理系統 (PHP + Mysql)
* 企業、門戶、商城、論壇等網站的開發 (PHP + Mysql)
自我評價
本人性格開朗、謙虛、自律、自信、穩重、有活力、有較強的責任感和團體協作精神,工作認真、積極主動,能吃苦耐勞,樂於助人、有較強的上進心、樂於學習新知識。希望能為貴貢獻我的技能。