跳到主要內容

發表文章

目前顯示的是 2008的文章

[野人獻曝] 如何實作一個簡單的短網址服務站(前言)

善意提醒: 本系列文隨時有腰斬的可能,若您需要根據本系列文進行實作的話, 請先作好可能會無法繼續下去的心理準備。 ==正文開始== 事前準備項目 一台可以跑 Apache 、 MySQL 、 PHP 的主機 一個看起來還蠻酷的網址 一個不會讓你想砸了它的文字編輯器 一個夠清晰的腦袋 關於第一個和第二個項目, 可以考慮去租一般的虛擬主機, 通常可以一次解決! 第三個項目的話,我個人推薦 Notepad++ 啦, 當然你若有更好的選擇,也可以直接使用! 至於第四個項目,就請施主自求多福了! 第一步 當然先從創造資料庫開始囉(不然你怎麼放那些原始網址資料?), 請打開你的 phpmyadmin , 然後將 這段指令 交給phpmyadmin執行。 注意:如果你是用虛擬主機的話,請不要直接執行那段指令,否則會有出錯的問題。 請先在你的網站控制臺直接創造一個資料庫,再把上述SQL指令中的 CREATE...... 複製下來交給phpmyadmin執行。 如果順利執行這段SQL指令的話,那麼就請你打開你常用的文字編輯器,輸入以下內容: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ redirect.php?q=$1 [L,QSA] ( 原始內容 ) (......本文待續......)

[野人獻曝][保證廢文] 淺論phpBB3與網站的整合!

咳咳,好久沒寫新文章了! 這次要來談一下 phpBB3 和既有網站系統的整合。 (原因:最近正在公司做的東西) 如果你的網站有自己的會員系統, 但卻想使用phpBB3作為自己的討論區的話, 或許可以參考本文, 但不保證你可以從本文得到什麼有用的知識! ==正文開始== 基本上,如果你上 Google 搜 phpBB3 和 整合 兩個關鍵字, 你可能會看到對岸的作法是直接用自己的會員系統去驗證, 如果有這個使用者存在的話,再直接幫使用者在phpbb3註冊幾個cookie。 不過我覺得這方法其實有點不大好, 所以我改用另一種方法,找前人已經包好的API去弄! 如果各位有心的話,應該可以找到這份API檔案。 當你找到這份檔案並且解壓縮以後, 你應該會看到以下兩個檔案: phpbb3.inc.php phpbb3_code.inc.php 只要你的主機裡有 pear ,也設定好phpbb3.inc.php裡的$phpbb_config和$phpbb_root_path變數後, 引入phpbb3.inc.php,並new出一個phpBB3_API, 就可以使用phpBB3的一些主要功能了(如:登入、登出、註冊)! 如果這樣還嫌不夠的話, 你當然還可以針對程式去作hack, 只不過那很累就是了XD! 除非你的需求難以滿足, 否則不建議這麼作。

[野人獻曝]Apache上的Mod_rewrite的實作說明(中-1)

在前篇文章,我拿了Cakephp的rewrite規則來作一些基本的說明, 因此在接下來幾篇文章中,會針對幾個情境來試著實作, 請各位看看吧,如果有錯的地方也請多多指教! 案例一: 某案主:我的網站是用PHP寫成的,因此我的網站都會有像這樣的網址: http://xxx.com/index.php 可是我不想讓別人知道這個網站是用php的, 所以我想要把.php改成.do(通常是用java之類的網頁), (像是http://xxx.com/index.do) 當然啦,如果你能把.php除掉的話也可以啦! (像是http://xxx.com/index) 針對某案主的要求, 我們可以先擬出以下基本的rewrite規則: 1<IfModule mod_rewrite.c> 2 RewriteEngine On 3 4 RewriteRule ([a-zA-Z0-9_]*).do $1.php [L] 5</IfModule> (以上內容要儲存在.htaccess檔案中) 這樣當訪客輸入http://xxx.com/index.do時, Apache會導向index.php。 這裡解釋一下第四行的內容, 該行內容是指: 當看到符合使用英文大小寫字母、數字和底線的.do時,即指定給該檔名的.php檔處理 這是最基本的狀況, 萬一某業主手賤替某個檔取了 ad@google.php 時又該怎麼辦? 你可以在這行([ a-zA-Z0-9_ ]*)的粗體字後加上一個@, 如果有新狀況的話,就依此類推地給它加下去! 但是請注意,某些字碼如&、<、>等, 因為是需要進行HTML脫逸或是正規式的表示字元, 在使用上可能會有問題,使用前請務必小心, 當然啦,替檔案命名時絕對不要用這些字元會是最好的方法。

[耍笨]mktime的參數順序

話說今天正在寫一個月曆, 由於我壓根沒寫過這東西(注1), 所以在我稍微Google一下前輩們的思考邏輯後, 就開始寫Code了! 基本上整隻程式使用 mktime 和date函數來處理, 但笨點救出在這裡了。 大概花了一些時間寫完code後, 測試時竟然老是跑出錯誤的結果, 整隻程式從頭到尾看過一遍後, 還是找不到問題在哪! 後來才不小心地發現我的mktime函數內的參數給錯了Orz...... mktime的參數依順序分別是( 時,分,秒,月,日,年 ), 請大家在使用mktime時要多加小心! 按: 雖然mktime的參數順序是 時,分,秒,月,日,年 , 可是我老是會寫成 年,月,日,時,分,秒 , 而且一直改不過來! 大概未來得讓自己習慣才行。 注1: 雖然說月曆這東西很簡單, 但是我一直覺得這東西很麻煩, 所以要用到月曆時,都是直接拿別人寫好的來套用。 自然就變成今天才寫生平中的第一次月曆!

[野人獻曝]Apache上的Mod_rewrite的實作說明(上)

Rewrite 最近不小心沉迷在研究Apache的mod_rewrite, 剛好也有點心得, 所以寫篇簡單心得放在這裡吧。 其實一切都是因為我從 Cakephp 裡的.htaccess得到一些靈感開始的, 所以我就以Cakephp的rewrite方法來作點說明吧! 首先看到Cakephp根目錄下的.htaccess檔吧: &lt;IfModule mod_rewrite.c&gt; RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] &lt;/IfModule&gt; 第一行和最後一行基本上算是必備, 所以不用問太多加下去就對了XD 第二行開始,代表著你要啟用RewriteEngine的功能, 這一行必加,因為不加的話,你也不會知道為啥你的rewrite無效~ 第三、四行則代表要把所有的Request導向給app/webroot, 換言之,Cakephp根目錄下的index.php基本上是擺好玩的! 既然前面提到已經被導向至app/webroot了, 那麼就繼續看app/webroot/.htaccess的內容吧: &lt;IfModule mod_rewrite.c&gt; RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] &lt;/IfModule&gt; 第一行、第二行和最後一行內容跟前段相同,所以就不多說了, 比較有意思的是第三、四、五行。 其意義如下: RewriteCond %{REQUEST_FILENAME} !-d 意義: 任何附掛的字串都不會被視為一個目錄 比如你輸入http://localhost/cakephp/a/s/d,(cakephp是你放cakephp檔案的目錄) 那麼rewrite將會把a/s/d當成一般字串,而不會繼續去尋找cakephp下是不是有目錄a、目錄s。 Rewr

[野人獻曝][小工具]Google Blogsearch的搜尋結果Widget

其實這東西從去年就開始寫了, 不過因為我的懶病發作, 所以只寫了幾行就放在硬碟裡生灰塵。 昨天一時心血來潮, 檢查我的垃圾程式堆時總算發現這個玩意, 因此花了一段時間把她弄出一個雛型出來。 效果在本部落格右手側即可看到。 嗯......其他的就先不說了! 要試用的請到: http://lab.faryne.tw/blogsearch/ 領取程式碼, 然後放在你要放的地方即可。 對了,如果有人願意把我弄一下版面的話, 我會很高興滴~ Technorati 标签: 實驗室 , 實驗作

[自以為是]網頁截圖工具:html2image

Convert HTML To Image on Linux : JPG, JPEG, BMP, PNG with html2image for Linux 說實在話啦,當你看到標題以後, 你一定會納悶:「不是有一卡車網頁截圖軟體嗎?介紹這個作啥?」 你想得也沒錯啦(默) 不過我會介紹這玩意,畢竟還是因為兩個原因: 她是在*nix平台上運作的 她可以拿來作機器截圖 撇開瀏覽器外掛的網頁截圖程式不談,十之八九的網頁截圖程式, 都只能在windows下運作, 這對於只擁有linux主機而又有大量網頁截圖需求的人, 實在是件很麻煩的事。 (當然啦,如果不在意網頁截圖品質的話,其實也有一堆網站提供這種服務。) 所以這套html2image的出現就真的是只能用「讚」一個字了。 而且啊, 她裡面還有一個nweb程式,可以讓你的伺服器成為小型的網頁截圖主機, 所以即使你在遠端也是可以用的啦! 使用方法:網站有寫,所以就不多提了! 不過很機車的是,我去年年尾下載的時候還沒有那麼詳盡的安裝說明, 所以害我摸索了很久才得以搞定(我是裝在Ubuntu7.10上)。 現在就補了各版本linux的安裝說明,這...... Technorati Tags: linux , html2image , web snapshot

[耍笨]「&」這個符號的重要性!

& 這個符號是個很有意義的連接符號, 因為在html中要利用get取資料時一定會用到「&」作為連接查詢字串的關鍵符號。 因此,標準的html是要將「&」轉換成「&amp;」的格式才可以(也包括「&gt;」、「&lt;」等符號)。 在linux下,在任何要執行的命令下加上「&」這個符號就代表你要讓這個命令在「背景」執行, 但是總會偶爾碰到命令中會「&」這個符號的時候, 所以就必須要在命令的前後端加上引號(單、雙)皆可。 (附帶一提:「&gt;」在linux下代表的是輸出的意思,所以如果命令中有這個符號的話,也一定要加引號使其變成單純的命令!) Technorati Tags: linux , console , 操作