遞迴篇
這個需求是在大鳥需要的拍賣網站會用到,其實一般搜尋引擎也常常會用類似這種「搜尋此分類下所有項目」的功能。
不過這篇不是講如何搜尋,而是要抓出分類之下的所有次分類,有了所有的分類之後,再下搜尋語法就沒什麼困難了。
我們先來定義一個簡單的分類結構範例:
女性用品 ->保養品 ->臉部
->身體
- Dec 13 Sun 2009 00:05
資料庫表單的多層分類搜尋 - 資料庫連結與遞迴篇
- Dec 13 Sun 2009 00:02
禁止執行某些 PHP 指令
如何禁止使用者執行某些 PHP 指令?
很多指令如 shell_exec、system、passthru、popen 等都是系統相關的指令,如果虛擬主機開放給使用者使用,或是在系統權限沒設定完整的情況下,必然會造成很大的傷害。
要達到這個需求,只要在 php.ini 裡設定 disble_function 這個選項就能設定禁止執行的指令了。
範例:
disable_functions = phpinfo
- Dec 12 Sat 2009 23:58
多久沒和朋友聯絡了?寄張電子音樂賀卡聯絡一下感情吧!
你有多久沒和朋友聯絡了,趁著聖誕節的腳步將近,寄張電子音樂賀卡聯絡一下感情吧!
1.首先到「立峰音樂網」(http://www.kingfore.com.tw),然後點一下首頁的「音樂賀卡」。
2.左邊是賀卡的分類,而中間則是最新的賀卡,而這次我們要挑的是聖誕賀卡,所以挑中間那張。
3.進入賀卡填寫頁面若出現如下圖的提示,在提示說明上「按一下右鍵」並點選「執行附加元件」。
- Dec 12 Sat 2009 23:54
ImageMagick應用大全(一)
1. 到 http://www.imagemagick.org/ 下載 Windows Executable 版本。 (建議下載 Stable 穩定版本)
2. 安裝下載回來的ImageMagick-x.x.x-xxx-windows-dll.exe,建議用預設安裝即可;另外安裝時也請勾選 Update executable search path,以讓系統可以找到 ImageMagick 執行檔的位置;其他用不到的選項可以不勾選。
- Dec 12 Sat 2009 23:51
[好書推薦]Web Layout 設計眼 - 高品質的網頁設計

臨摹好作品,就能提升設計力!
本書是為了已經學過 CSS,但卻無法靈活運用的網頁設計人員所撰寫。與其他著重 CSS 語法細節或是僅能充當優美網頁欣賞集的書籍不同,作者不浪費篇幅介紹 CSS 基礎語法,而是針對各種設計風格或技巧,直接以商業網站為例說明要點,然後再利用自己的專業作品為例,一步步帶領讀者做出成果,讓您在臨摹的過程中,順利地將專業設計師的功力內化成自己的設計力!
你是否覺得坊間程式碼密密麻麻的 CSS 工具書缺乏足夠的應用範例?
雖看懂了程式碼,卻苦於不知如何著手進行整體版面設計與結構?
- Dec 12 Sat 2009 23:48
PHP檔案重新命名與檔案移動
在一般網站程式設計應用中,很多時後會需要用到檔案重新命名與檔案移動,那麼在PHP中該如何實現這2個需求呢?其實很簡單,只要用rename()這個函式即可,其函式原型如下:
rename-檔案重新命名
語法:int rename (string oldname, string newname)
說明:試著將舊名稱oldname重新命名為newname;成功則傳回true,失敗則傳回false。
//如果在同目錄的檔案
rename("1.txt","2.txt");
另外,若不同路徑的話則會變成移動檔案
- Dec 12 Sat 2009 23:43
PHP的日期加減運算
之前YOGO曾在「Mysql的日期加減運算」這篇文章中有提到MYSQL的日期加減運算,而這一篇文章則是提供PHP日期加減運算的解法;所先先來介紹一下4個PHP內建的日期函式,如下所示:
1.date() - 將本地的時間/日期格式化
語法 : string date (string format [, int timestamp])
說明 : 使用給予的timestamp按照格式化字串傳回一格式化字串,如果沒有給予timestamp則使用本地的時間。
或可參考YOGO「php的時間函式(date)應用 」這篇文章。
2.mktime() 取得日期的UNIX時間戳記
語法 : int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])
- Dec 12 Sat 2009 23:40
Mysql的日期加減運算
YOGO在知識+看到一篇與酷學園相同的問題,分別是 「[php]如何於資料表中到期日前寄出一封信至用戶信箱?」 與 「[求助]如何於資料表中的到期日到時寄出一封信至該用戶信箱?」 ,其中有不少朋友其實已經提出解決之道,只是沒有加以實作而已,有鑑於此YOGO就野人獻曝一下,將之實作出來。
在原始問題中,提問者的原始問題如下:
目前我有做一個客戶資料管理程式,而在這支程式的資料表中我有規劃了用戶的信箱(email)租書到期日(booklimdate)與租片到期日(videolimdate),我想要讓租書到期日與租片到期日前30/15/7/3/1天寄出一封到期通知信給用戶的信箱,【內容比如說:敬愛的顧客xx您好!您向本店租賃的書籍將於$booklimdate到期,敬請注意還書日期,謝謝!! 】請問我該怎麼做呢?
要解決這個問題目前YOGO想的到的方法有2個,一個是用PHP中的date()函式處理,而另一個則是用Mysql的DATE_ADD() 函式來處理,而YOGO的這篇教學是用下Mysql中DATE_ADD()的這個函式來實作,若要用PHP來解決的話,請參考「PHP的日期加減運算」這篇文章,在實作之前我們先來認識一下Mysql中DATE_ADD() 的這個函式,其函式原型如下:
DATE_ADD(date,INTERVAL expr type)
date是一個指定開始日期的DATETIME或DATE值,expr是指定加到開始日期或從開始日期減去的間隔值一個表達式,expr是一個字符串﹔它可以以一個"-"開始表示負間隔。type是一個關鍵詞,指明表達式應該如何被解釋。EXTRACT(type FROM date)函數從日期中返回"type"間隔。下表顯示了type和expr參數怎樣被關聯:
- Dec 12 Sat 2009 23:38
[好書推薦]XML 技術實務
- Dec 12 Sat 2009 23:28
核發自己的SSL憑證
http://www.yogo.com.tw
- Dec 12 Sat 2009 23:23
傳輸層安全-認識SSL
首先要澄清一下名字的混淆 ,SSL(Secure Socket Layer) 是netscape公司設計的,主要用於web的安全傳輸協定。這種協定在WEB上獲得了廣泛的應用。
二、SSL運作原理(簡述)
1.Client透過HTTPS連到Server。
2.Server傳送Server Public Key給client。
3.Client產生後續傳輸資料需要用來加密/解密用的Session Key,並以Server傳過來的Public Key加密後回傳給Server。
4.Server用Private Key解開Client以Public Key加密回傳的資料,以取得Session Key。
- Dec 12 Sat 2009 23:15
PHP中用Socket發送電子郵件
在作者所申請的幾個PHP 主頁空間中,能夠提供mail功能的實在不多,總是調用完mail()函數之後就毫無下文了。
但是電子郵件在網上生活中的作用越來越大作用我不想再說了,但是如果主頁空間不支持mail()發送那麼怎麼辦呢?我也想過通過socket來實現郵件 發送,但無奈對用php 進行socket編程不熟悉,再加上發送郵件要用到SMTP協議,又要讀不少的英文了,所以一直也沒有去研究過。
終於有一天我發現了一篇文章,關於用socket編程發送郵件。我如獲至寶般將其拷貝下來,並且將其改造成了一個php可用的類,供大家使用。
原來的文章只是一個簡單的例子,而且還有一些錯誤,在我經過多次的實驗、改造終於將其改成了一個直接使用socket,向指定的郵箱發送郵件的類,如果大家和前面關於發送MIME的文章結合起來,就可以實現在不支持mail()函數的網站上發送郵件了。
因為發送郵件的過程需要時間,可能與mail()的處理機制還不完全一樣,所以速度要慢一些,但是可以解決需要發送郵件功能的燃眉之急,同時你也可以學習用php 進行socket編程。下面就將這個類的實現原理介紹給大家,同時向大家講解一些關於SMTP的基本知識。
- Dec 12 Sat 2009 23:12
Google 教你優化 PHP,PHP 開發團隊指內容不確
Google 的 webmaster Eric Higgins 寫了一篇文章介紹怎樣優化 PHP,文章刊登不久,PHP 開發團隊其中一員 Gwynne Raskind 發文提出異議,指 Eric 所說的與事實不符,有些甚至完全相反,在 PHP 5 上幾乎沒有一項 Eric 的優化技巧能帶來實質的好處。我們摘錄了比較具爭議性的幾點,看看誰是誰非。
Eric Higgins: 不要沒來由的複製變量
Eric 說每次我們複製一個變量的時候,便會消耗一些記憶體,一些 PHP 初哥為了使他們的原碼「好讀」,喜歡把一些預定義變量複製到另一個名稱比較簡短、容易記憶的變量,這樣對程式的效能有負面的影響。在下面的例子中,如果用戶輸入了一段 512KB 的文字,程式便會消耗 1MB 的記憶體:
$description = strip_tags($_POST['description']);
echo $description;
我們沒有理由把文字複製到 $description,只需:
- Dec 12 Sat 2009 23:07
十大技巧提升你的PHP實力
在 Smashing Magazine 的網站,Glen Stansberry 提出十個進階 PHP 技巧,可以即時提昇你的 PHP 編程實力,其中包括 SQL 注入攻擊的「作弊表」、簡化判斷句中的 else 部分、在不得已的情況下才使用正規表達式、三元運算子、Memcached 數據庫快取系統等等,以下是詳細的內容。
PHP 在 1995 年從一個不起眼的編程語言開始,多年來迅速發展,現在已經是其中一種最流行的網絡開發語言,許多熱門網站均採用 PHP 來開發,絕大多數的程式和網站項目都是由這種流行語言寫成。
由於 PHP 如此受歡迎,任何網站開發人員幾乎都不能不認識 PHP,這份教程是為那些剛剛完成了 PHP 的學習初階,捲起衣袖準備大幹一番的人,下面列出的十個優秀技巧,是 PHP 開發人員必須學習,並在每次編程時使用它們,這些提示可以加快你們對 PHP 的熟練,使程式碼跑得更快捷,更簡潔,性能上更優化。
1. 使用 SQL 注入攻擊作弊表
SQL 注入攻擊是一種非常令人厭惡的東西,它是一種安全漏洞,允許黑客利用程式碼中的漏洞潛入你的數據庫。雖然本文與 MySQL 無關,不過許多 PHP 程式使用 MySQL 數據庫,若果你要寫安全的程式碼,懂得什麼情況需要避開是很有用的。
- Dec 12 Sat 2009 23:05
[好書推薦]Facebook與funP應用程式設計
- Dec 12 Sat 2009 23:03
[好書推薦]PHP for Flash FMS動態網站開發手札
- Dec 12 Sat 2009 22:56
PHP 程式效能優化的 40 條建議
這裡有一篇 Tsung 轉載的「PHP 程式效能優化的 40 條建議」,覺得很不錯,例如使用 str_replace > preg_replace, 但是 strtr 又比 str_replace 快, $row['id'] 比 $row[id] 快 7 倍, 雖然有些龜毛了點, 偶爾注意一下也不錯,提供給有興趣的朋友參考一下。
原文: 40 Tips for optimizing your php code
轉載自翻譯: 優化PHP程式的40條建議
1.如果一個方法可靜態化,就對它做靜態聲明。速率可提升至4倍
2.echo 比 print 快
- Dec 12 Sat 2009 22:43
油價一直漲金價也跟著漲,這是最壞的時代也是投資保值最好的時代
- Dec 12 Sat 2009 22:41
[好書推薦]SEO網路大行銷
- Dec 12 Sat 2009 22:37
[好書推薦]NO.1暢銷作者最受歡迎的特效解密--Photoshop CS4
這本書介紹很多很炫且實用的技巧,剛看時會覺得似乎很複雜、困難,但實作一遍之後會發覺其實並沒有想像中的難,是一本很值得推薦的Photoshop的好書。
NO.1暢銷作者最受歡迎的特效解密--Photoshop CS4