2007年12月日語考試證書在線製作程序

這是偶今天無聊寫的東西.php實現
Version 1.0
純屬娛樂,技術含量是沒有滴.. (要不怎麼說我無聊呢….)

在線演示地址:
http://test.sakura-paris.org/jp/1/jpdiplema.htm

本程序根據用戶輸入的姓名,出生日期,考試級別和准考證號,在線生成2007年12月日本語等級考試的證書圖片.證書樣圖來源於咖啡日語論壇杜亮提供

具體的過程是 表單提交數據 -> php程序接受數據 -> 用 GD庫的 imagettftext函數把文字寫入證書樣圖的對應位置 -> 瀏覽器輸出生成圖片(imagejpeg函數).

 

說明:
1.為了省事,伺服器端沒有對用戶輸入的內容做任何過濾 ,本程序並沒有任何SQL查詢/文件上傳等代碼,所以不會造成安全問題. 而如果php程序涉及SQL查詢/文件上傳等過程,則必須對從客戶端接受數據進行嚴格的過濾,通常過濾流程如下:

首先判斷是否為空 : if(!$_GET[‘variable’]) …..
-> 判斷字元串長度是否超標: if (length($_GET[‘variable’]) >10 …..
->使用正則表達式對數據格式進行嚴格審查: if(!ereg(“^[a-zA-Z0-9]*$”,$_GET[‘variable’]) ….
(這個正則式子將確保客戶端傳來的數據只含有英文字母和數字,不含有任何 ‘ ” ; 等危險的特殊符號)

WEB開發的首要原則是:所有客戶端傳來的數據都是不可信賴的

2.imagettftext函數要求指定TrueType字體文件,而這個與平台相關,比較頭疼.所以我乾脆上傳了一個ARIAL.TTF文件到程序目錄下 .直接用這個Arial字體
3.請不要輸入中文字元,否則出錯 (因為使用的Arial字體沒有中文字元)
4.整個過程最頭疼的就是確定寫入文字在樣圖上像素的位置,這個偶是本地用Photoshop的標尺+windows計算器手工計算出來的…汗….
5.需要GD2庫. (GD1不行,因為兩個版本字體大小不同)

最終的東西有下面幾個文件(位於同一文件夾下)

jp.jpg —– >用於生成證書的樣圖(移除了文字)
original.jpg ——>真實的原始證書圖片(咖啡日語論壇杜亮提供)
jpdiplema.htm —->客戶端界面,用於提交表單
jpdiplema.php —–> 用戶生成圖片的php文件
ARIAL.TTF ——>字體文件
source.txt ——>jpdiplema.php文件的源代碼
readme.txt —-> README

打包下載.(Download)

 

在線演示地址:
http://test.sakura-paris.org/jp/1/jpdiplema.htm

 

這索我為自己生成的一張證書圖片 看得爽 =V= (雖然偶不知道啥時才能過一級 .唉 ……55555555 .)

 

jp

 

本程序純屬娛樂 ^_^,日語學習需每日勤奮方有成效,不可一日懈怠,所謂不積跬步,無以致千里,不積小流,無以成江海
願大家日語都學有所成 . De Wa !