Posts

如何用 phplot 中文繪圖

phplot 是在 PHP 上免費的繪圖套件 網路上很多人都說 gd  還是 PHP 沒辦法畫出帶有中文字的圖片 其實這都是字型的問題 只要有中文字型,這都不是難事了! $plot = new PHPlot(650, 500); $plot->SetImageBorderType('plain'); $plot->SetTTFPath('/home/www/inc/phplot/fonts/fireflysung-1.3.0/'); $plot->SetDefaultTTFont(' fireflysung.ttf '); SetTTFPath 是設定字型目錄的 SetDefaultTTFont 是設定字型名稱的 請注意,字型也有版權上的問題 並不是電腦中的字型都可使用 這邊推薦 firefly 螢火飛前輩釋出免費的字型 如果還是亂碼,請記得把程式的部份轉換成 utf-8 編碼喔!

把 Linux 上的 x-windows 關掉

一開始灌機器的時候可能會沒有注意就把桌面(x-windows)裝進去 隨著往後 Server 的資源不夠時 這時候你或許會想到要關掉桌面 以節省 CPU & Memory 資源 直接去編輯 /etc/inittab 把下面這行 id: 5 :initdefault: 5 改成 3 重開(restart -n)即可! ㄧ以下是各參數的意義: # Default runlevel. The runlevels used by RHS are: #   0 - halt (Do NOT set initdefault to this) #   1 - Single user mode #   2 - Multiuser, without NFS (The same as 3, if you do not have networking) #   3 - Full multiuser mode #   4 - unused #   5 - X11 #   6 - reboot (Do NOT set initdefault to this) 此方法在 Fedora 8 & RHEL 4 & CentOS 5.2 下可正常設定!

SSH 自動登出

最近裝了 CentOS 5 版後 SSH 閒置一段時間後常常會自動被登出 把下面的設定值加入 /etc/ssh/sshd_config ClientAliveInterval 300 然後重開 ssh 就不會被那擾人的自動登出困擾著了~ # /etc/init.d/sshd restart Reference : 5.4 SSH Timeout help

Apache 的 .htaccess 失效?(續)

如果你 照著此篇做 還是發現 .htaccess 檔起不了作用 那應該是你有用 url rewrite 的功能 不知道 Apache 2 從那一版開始 預設將 mod_rewrite 給關閉 #LoadModule rewrite_module modules/mod_rewrite.so 把 # 的部份移除重開 Apache 即可

Apache 的 .htaccess 失效?

如果你的 Apache .htaccess 設定檔無效 請先檢查 httpd.conf 中的 <Directory>...</Directory> 中的 AllowOverride 設定是否為 None 改成 AllowOverrider All 就可以了 由於安全性等的考慮 Apache 可能預設會是 None 如果你只有某些地方需要支援 .htaccess 設定 可指定目錄支援即可 <Directory "/var/www/html"> AllowOverride All </Directory> 參考來源: [求助] Apache主機.htaccess強迫編碼設定

PHP 正規化的好幫手:preg_replace()

某些字串取代不能夠單純的用 str_replace 達成 這時候就要搭配 正規化 ( Regular Expression , 簡寫 Regex )來做到 PHP 中可以用 preg_replace 來做到正規化取代的功能 preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit [, int &$count ]] ) 在大量線上 Post 文或文書處理時 編輯人員往往都不會自行將來源的文字中的網址加上超連結 這時讀者如果想要到文中提及的網站瀏覽 就只能乖乖的複製好網址再貼上到瀏覽器的網址列了 如果想要將文章裡面的文字連結利用正規化變成真的 Hyper Link 請試看看以下的範例: <?php // 將字串中的網址加入超連結 function parseURL($strURL = null) { $regex = "{ ((https?|telnet|gopher|file|wais|ftp):[\\w/\\#~:.?+=&%@!\\-]+?)(?=[.:?\\-]*(?:[^\\w/\\#~:.?+=&%@!\\-]|$)) }x"; return preg_replace( $regex, "<a href=\"$1\" target=\"_blank\" alt=\"$1\" title=\"$1\">$1</a>", $strURL); } echo ParseMsg('http://www.php.net'); ?> 得到的結果: http://www.php.net 延伸閱讀: PHP 編寫 BBCode 函式

用 CSS 累加數字 & CSS 支援變數

在這瞬息萬變的網路世界中 不要說十年… 五年就差很多了! 這有大部分要歸功於 Google 囉~ (Google OS:更!這又扯到我了…) 剛在這邊看到一個 例子 可以用 CSS 去控制數字累進 以下擷取 The Spanner 的部份程式出來說明( 範例 & 原程式碼 ) @ 這段是用來重整頁面用的 <?php for($i=0;$i<$maxLoop;$i++) { $frame = $i + 1; echo '<meta http-equiv="Refresh" content="'.$frame.';URL=cssloops.php#'.$frame.'_'.$rand.'">',"\r\n"; } ?> @ 這段是用來動態產生 CSS <style type="text/css"> <?php $linkCount = $maxLoop; for($i=0;$i<$maxLoop;$i++) { $frame = $i + 1; for($j=0;$j<$i;$j++) { echo 'a + '; } echo 'a[href="cssloops.php#'.$frame.'_'.$rand.'"]:visited + '; for($j=0;$j<$linkCount-1;$j++) { echo 'a + '; } ?> div:after { counter-increment: count <?php echo $frame?>; content: " " counter(count) " "; } <?php $linkCount--; } ?> div:after { content: " " counter(count) " "; } </style> ...