顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - Darkhero

頁: 1 2 [3] 4 5 6
61
網頁技術 / 多種AutoComplate的js~
« 於: 2007-11-28 16:18 »
因為有朋友在我Blog問了這些問題,所以就順手找了些資料...

單純版,大部分都很容易就使用了,通常用法都是把你要被自動完成的資料變成 Javascript 的陣列.
http://www.mattkruse.com/javascript/autocomplete/
http://gadgetopia.com/post/3773 (如果你要很快就可以用,這個不錯...一個 .js 檔案+css就可以了..)
http://www.codeproject.com/jscript/jsactb.asp

jQuery Plugin 我目前自己有用過的是這個..
http://www.pengoworks.com/workshop/jquery/autocomplete.htm

63
PHP程式設計討論區 / 安裝與使用PhpDocumentor
« 於: 2007-11-06 10:58 »
寫文件是一個程式設計師最最痛苦的事情之一,尤其是寫了一堆程式後有人要你把 Function ,Class 等等等等,寫成一份文件。
這事情不管你是寫 c/c++ , perl , ruby , php 都不例外。

phpDocumentor 是我們的救星! 只要在寫程式的時候,乖乖的寫一點註解,寫一點範例,多一點說明,注意一下格式,等到程式完工後,只要一個指令,就可以立刻把全部程式的說明文件產生出來,而且還有多種樣式可以選擇,甚至可以作成  PDF , CHM 喔...

好了,屁話不多說,先來說說怎麼裝上這好用的東西吧...

phpDocumentor 本身已經是 pear 的成員之一,所以安裝的時候只要用 pear 來安裝即可(以下範例為在 Windows 下進行,以後再補上 LInux 下的)

--如果你已經有裝 php 跟 pear 請跳過--
首先假設我把我的的 php 安裝路徑在 d:\php\
也就是說我從 www.php.net 下載了最新的 php win32 安裝檔案,解開後放在 d:\php\

那麼這個目錄下面應該有 d:\php\PEAR這個目錄,但是當你進去看的時候,你會發現好像沒有 PEAR 相關程式庫阿...

沒錯,這個時候你還沒有安裝 PEAR 請先用 go-pear.php 安裝基本 pear 環境。

那麼在 d:\php 目錄下有一個檔案,叫做 go-pear.bat 請開一個 cmd 視窗去執行他,中間會有一些問題,基本上都照預設值去跑就可以了...

跑玩後,你的 pear 應該會被安裝在 d:\php\PEAR\pear 下面,而幫助你安裝其他 pear 套件的 pear.bat 則在 d:\php\PEAR下面

--安使安裝 phpDocumentor --

安裝 phpDocumentor 的過程也很簡單,只要利用 pear.bat 即可!

使用指令如下

代碼: [選擇]
d:\php\PEAR\pear.bat install -o PhpDocumentor

當中有多下一個 -o 的參數,意思是要 pear 把相依的套件也一起下載安裝。

安裝完成後 d:\php\PEAR 下面應該會多一個 phpdoc.bat 的批次檔,我們就可以用這個批次檔來產生我們的文件。

-- 使用 phpdoc.bat 產生文件 --


產生文件的方式我通常只有用下面一行指令解決:

代碼: [選擇]
d:\php\PEAR\phpdoc.bat -o HTML:Smarty:PHP -d d:\myProject\php_source\ -t d:\myProject\docs

這樣子的意思是說,採用 HTML:Smarty:PHP 的樣板格式,然後原始碼目錄在 d:\myProject\php_source\ ,接著把產生的文件放在 d:\myProject\docs 底下。

當中若是你只要對一個檔案作文件的話,可以把 -d 改成 -f 然後後面接的著就是指定的檔名。

樣板的格式基本上有 HTML, XML, PDF, CHM 四大類別,通常我用的都是 HTML:Smarty:PHP 這個,因為他比較好看!

另外還有就是 CHM:default:default 這個.用來產生 chm 的,不過他產生出來的是 .hhp 檔案,也就是還沒有經過 HTML helper 編譯過的檔案,所以要另外安裝 HTML Helper 來編譯 hhp 檔案就可以產生你要的檔案。


-- 最後來說一下怎麼寫註解 --

phpDocumentor 的註解有一定的規格,但是都跟我們原來寫註解的方式很像,只是要注意一下東西而已。

簡單的來看個範例好了

代碼: [選擇]
<?php
/**
* 這裡是這個物件的說明

* 可以多行喔!~
*
*/
class MyClass &#123;
/**
 * 這裡是變數的說明
 *
 * @var int
 */
var $a ;
/**
 * 這裡是變數的說明.
 *
 * @var string 這裡也可以放說明
 */
var $b ;

/**
 * 這是針對函式的說明
 * 也是一樣可以多行
 * 若是簡單的範例也可以放這裡
 *
 * @param int $a 可以放入傳入的型態
 * @return array 可以說明回傳的型態
 */
function first &#40; $a &#41; &#123;
    
return array&#40;&#41;;
&#125;
&#125;
?>


基本上都是在


代碼: [選擇]
/*
 * 寫在這裡..
 */


中間寫註解,別忘了每行前面要有個 * 喔!

註解比較常用到參數的應該是
@author 程式作者名稱,聯絡方式
@const 常數
@deprecate 不建議使用的 API
@global 全域變數
@param 函數的參數
@return 回傳值
@see 可參考函數
@since 開始時間

@static 靜態變數
@var 物件成員變數
@todo 計畫中要進行的項目

更多更詳細的資料請到 http://www.phpdoc.org/ 看囉!~

64
http://briian.com/?p=3778

讓 Vmware 中 跑的 windows 軟體,感覺就像是 Mac 上得軟體一樣....


(註: 2007/11/8, slime 修改過標題)

65
一般來說,大部分的網站都會有會員系統的架構,而很多的功能也都依賴著會員系統來區分不同的使用者,還有保存使用者的設定值,個人環境設定等。
所以我們第一個內容就是建立一個簡易的會員系統。

一般會員系統通常會有以下幾個基本功能:

   1. 會員註冊
   2. 會員登入
   3. 會員登出
   4. 會員資料修改


所以我們現在要建立的基本功能就以上面這四項目為主。

首先我們從資料表開始,會員資料表我們先簡單的建立如下的資料表,只要能保存使用者的帳號,密碼,最後一次登入來源,時間,帳號建立時間。
所以我們的資料表應該會長的像是這樣:
會員資料表 members
id    int,auto_increment
username    varchar(20)
password    varchar(50)
email    varchar(100)
last_login_ip     varchar(15)
last_login_datetime    datetime
created    datetime


接著我們建立對應使用的會員 Model

   
代碼: [選擇]
<?php
    
class Member extends AppModel &#123;

        
var $name 'Member';
        var 
$validate = array&#40;
        
'usernmae' => VALID_NOT_EMPTY,
        
'password' => VALID_NOT_EMPTY
        
&#41;;


        /**
         * 使用者登入檢查
         *
         * @param string $username
         * @param string $password
         * @return array
         */
        
function login&#40;$username,$password&#41;&#123;
            
$login_data = array&#40;'username'=>$username,
                
'password' => md5&#40;$password&#41;
            
&#41;;
            
$rows $this->find&#40;$login_data&#41;;
            
if &#40;count&#40;$rows&#41; > 0&#41; &#123;
                
$this->id $rows['id'&#93;;
                
$rows['last_login_ip'&#93; = $_SERVER['REMOTE_ADDR'&#93;;
                
$rows['last_login_datetime'&#93; = date&#40;'Y-m-d H&#58;i&#58;s'&#41;;
                
$this->save&#40;$rows&#41;;
                
return $rows;
            &
#125;else&#123;
                
return false;
            &
#125;
        
&#125;
       
        /**
         * 保存一名註冊的新使用者
         *
         * @param array $data
         * @return bool
         */
        
function registe_new&#40;$data&#41;&#123;
            
$this->create&#40;&#41;;
            
return $this->save&#40;$data&#41;;
        
&#125;
       
        /**
         * 更新一名使用者的資料
         *
         * @param array $data
         * @return bool
         */
        
function update_user_data&#40;$data&#41;&#123;
            
return $this->save&#40;$data&#41;;
        
&#125;
    
&#125;
    
?>


以上的資料,我們基本都用 CakePHP 內建的功能完成。

接著是 Contoller 的部份,也就是負責邏輯流程的部份。

   
代碼: [選擇]
<?php
    
class MembersController extends AppController &#123;
        
var $name 'Members';

        function 
modify&#40;&#41;&#123;
            
if &#40;!empty&#40;$this->data&#41;&#41; &#123;
                
$this->cleanUpFields&#40;&#41;;
                
if &#40;$this->Member->update_user_data&#40;$this->data&#41;&#41; &#123;
                    
$this->Session->setFlash&#40;'您的資料已經更新完成!'&#41;;
                    
exit;
                &
#125;else&#123;
                    
$this->Session->setFlash&#40;'更新資料失敗,請檢查資料是否有錯誤。'&#41;;
                    
$this->render&#40;'modify'&#41;;
                    
exit;
                &
#125;
            
&#125;else&#123;
                
$this->render&#40;'modify'&#41;;
                
exit;
            &
#125;
        
&#125;
       
        /**
         * 使用者註冊表單。
         *
         */
        
function register&#40;&#41;&#123;
            
if &#40;!empty&#40;$this->data&#41;&#41; &#123;
                
$this->cleanUpFields&#40;&#41;;
                
if &#40;$this->Member->save&#40;$this->data&#41;&#41; &#123;
                    
if &#40;$this->params['ret_url'&#93;&#41; &#123;
                        
$ret_url $this->params['ret_url'&#93;;
                        
$this->flash&#40;'您已經註冊完成!',$ret_url,5&#41;;
                    
&#125;else &#123;
                        
$this->flash&#40;'您已經註冊完成!','/',5&#41;;
                    
&#125;
                    
exit;
                &
#125;else&#123;
                    
$this->Session->setFlash&#40;'註冊失敗,請檢查您輸入的資料。'&#41;;
                    
$this->render&#40;'register_form'&#41;;
                    
exit;
                &
#125;
            
&#125;else&#123;
                
$this->render&#40;'register_form'&#41;;
            
&#125;
        
&#125;

        /**
         * 使用者註冊功能,若是沒有 Post 資料進來,就直接秀出登入表單
         *
         */
        
function login&#40;&#41;&#123;
            
if &#40;!empty&#40;$this->data&#41;&#41; &#123;
                
$this->cleanUpFields&#40;&#41;;
                
if &#40;$member_data = $this->Member->login&#40;$this->data['username'&#93;,$this->data['password'&#93;&#41;&#41; &#123;
                    
if &#40;$this->params['ret_url'&#93;&#41; &#123;
                        
$ret_url $this->params['ret_url'&#93;;
                        
$this->redirect&#40;$ret_url&#41;;
                    
&#125;else &#123;
                        
$this->flash&#40;'您已經登入完成!','/',5&#41;;
                    
&#125;
                    
exit;
                &
#125;else&#123;
                    
$this->render&#40;'login_form'&#41;;
                    
exit;
                &
#125;
            
&#125;else&#123;
                
$this->render&#40;'login_form'&#41;;
            
&#125;
        
&#125;

        /**
         * 使用者登出功能,只要刪除Session中的使用者資料即可。
         * 完成後導回首頁。
         *
         */
        
function logout&#40;&#41;&#123;
            
$this->Session->del&#40;'memberInfo'&#41;;
            
$this->flash&#40;'您已經登出,感謝您的使用!','/'&#41;;
        
&#125;
    
&#125;
    
?>


下篇我們將繼續view的部份的說明.

66
雜七雜八 / 有沒有人想買這張主機板的....
« 於: 2007-10-08 15:31 »
很屌的主機板,內建嵌入式Linux,可上網,可用Skype ....
不知道有沒有內建硬碟修復程式之類的....

http://metamuse.blogspot.com/2007/10/asus-p5e3-deluxe-splashtop-linux.html

67
內容很多,幾乎把 CakePHP 1.2 上很多重要的新東西都講到的,看完了很心動很想馬上來試試看阿!
http://www.cakephp.org/files/OCPHP.pdf

68
網站製作學習誌 看到的消息...

國外知名的書籤網站 http://del.icio.us/ 已經在十月初期重新建構了網站程式,採用的是 Symfony 這套 PHP Framework ..

相關文章請看..
http://blog.phpdeveloper.co.nz/2007/10/03/delicious-switches-to-symfony/
http://www.symfony-project.com/blog/2007/10/02/delicious-preview-built-with-symfony

69
各位可以看看這新聞內的介紹。

在眾家努力開發更快更穩定更方便的虛擬技術軟體的同時,VMware已經開始著手下一步,讓多台的 VMware 更容易管理與轉移。

http://www.zdnet.com.tw/news/software/0,2000085678,20123722,00.htm

70
PHP程式設計討論區 / Adodb 的 AutoExecute
« 於: 2007-09-05 15:49 »
很久沒有寫關於 adodb 相關的文章了,前一陣子(好久以前)翻閱文件的時候,注意到新增了一個 AutoExecute 的 Method ,看名字就覺得很有趣,所以當然就玩了一下。

一玩不得了,這東西太好用了,所以一直想說要介紹給朋友用,但是一直忘記要寫文章,雖然過了很久,但是還是來補一下好了。

還沒有用 GetInsertSQL 跟 GetUpdateSQL 以前,通常都需要自己撰寫相關的 SQL 去操作資料庫,不免會遇到打錯 SQL 或是程式碼中一堆 SQL 語法的問題。

之後我用 adodb 的時候,通常都會跟官方文件上得範例差不多,都是用 GetInsertSQL 或是 GetUpdateSQL 來產生 SQL ,然後才用 Execute 去執行該 SQL ,而GetUpdateSQL 之前還要 Select 一下資料庫,取出一份該筆資料得欄位跟資料內容,所以整段程式變成有點累贅,因為一些不必要的重複的 Code 不斷出現。

類似這樣:
代碼: [選擇]


$rs=$db->Execute("Select * from mytable where");
$updateArray['name]=newName';
$UpdateSQL=$db->GetUpdateSQL($rs,$updateArray);
$db->Execute($sql);


而比較新的版本的 adodb 則新增了 AutoExecute ,則可以大幅度減少這些無謂的程式碼.

AutoExecute($table, $arrFields, $mode, $where=false, $forceUpdate=true,$magicq=false)

參數說明:
  • $table 要處理的表格名稱
  • $arrFields 要更新或新增的欄位內容
  • $mode 模式選擇,內容需為 INSERT 或是 UPDATE&nbsp;
  • $where 當模式為 UPDATE 的時候,需要輸入更新條件
  • $forceUpdate 一般來說預設 UPDATE 的時後,會先從資料庫取出該筆資料,然後若是欄位內容沒有修改,則不會進行UPDATE,只會更新有更新的欄位,若是姜此參數設定,則會強迫一律更新。
  • $magicq 系統環境是否有把 magice_quotes 打開,預設是沒有,所以會替你將傳入的資料作 qstr
範例:
代碼: [選擇]
$record["firstName]=Carol";
$record["lasTname]=Smith";
$conn->AutoExecute($table,$record,'INSERT');
# executes "INSERT INTO $table (firstName,lasTname) values ('Carol',Smith')";

$record["firstName]=Carol";
$record["lasTname]=Jones";
$conn->AutoExecute($table,$record,'UPDATE', "lastname like 'Sm%'");
# executes "UPDATE $table SET firstName=Carol',lasTname=Jones' WHERE lastname like 'Sm%'";

從上面的範例可以發現,比起之前用 GetUpdateSQL 與 GetInsertSQL 更為簡潔,且更為方便了!
官方文件http://phplens.com/adodb/reference.functions.getupdatesql.html#autoexecute&nbsp;

71
看文件總是會有新發現...
如果你用的 php, php-memcache 版本夠新...
可以很輕易的將 Session 用 memcached 保存了...

引用
session.save_path  string

    Defines a comma separated of server urls to use for session storage, for example "tcp://host1:11211, tcp://host2:11211".

    Each url may contain parameters which are applied to that server, they are the same as for the Memcache::addServer() method. For example "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"


代碼: [選擇]
<?php
$session_save_path 
"tcp&#58;//$host&#58;$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp&#58;//$host&#58;$port  ";
ini_set&#40;'session.save_handler', 'memcache'&#41;;
ini_set&#40;'session.save_path', $session_save_path&#41;;
?>


http://tw.php.net/memcache

72
目前我大部分採用 VirtualBox 作為我的虛擬環境。
但是目前有個問題,我不太瞭解 VirtualBox 的網路設定方式。

用 VMware 中,只要把網路介面設定為 Bridge 的方式,即可用 Host 連到 Guest 的 IP ..

但是同樣的設定方式.我在 Virtual 上無法做到.

VMware 記得好像是直接 Bridge 到某一個實體介面,但是在 VirtualBox 是有自己的一個虛擬介面,需要手動再把實體介面跟虛擬介面作 Bridge 才行的樣子...

是否有人可以跟我說明一下這方面的設定呢?..
Host 是 Linux 或是 Windows 都可以....

73
官方網站的消息,PHP4 的維護即將要終止了,接下來就是正是迎向 php5 的時候....
各位朋友們,你們準備好了嗎?

引用
PHP 4 end of life announcement
[13-Jul-2007]

Today it is exactly three years ago since PHP 5 has been released. In those three years it has seen many improvements over PHP 4. PHP 5 is fast, stable & production-ready and as PHP 6 is on the way, PHP 4 will be discontinued.

The PHP development team hereby announces that support for PHP 4 will continue until the end of this year only. After 2007-12-31 there will be no more releases of PHP 4.4. We will continue to make critical security fixes available on a case-by-case basis until 2008-08-08. Please use the rest of this year to make your application suitable to run on PHP 5.

For documentation on migration for PHP 4 to PHP 5, we would like to point you to our migration guide. There is additional information available in the PHP 5.0 to PHP 5.1 and PHP 5.1 to PHP 5.2 migration guides as well.

74
雜七雜八 / 2007 VMware巡迴活動
« 於: 2007-05-03 17:35 »
不知道站上的朋友們有沒有收到這個活動的訊息,不知道有哪些朋友會去那呢?...

有點想找人一起去晃晃...

75
或許很多人知道 Firefox , Mozilla ,也上過他們的網站,但是你可能不知道...
http://addons.mozilla.org/ 是用 CakePHP 架構的唷!...

證據在哪裡呢?
請看 mozilla 的 subversion ....

http://svn.mozilla.org/addons/trunk/site/

這是一個非常完整但是很複雜的範例唷,有興趣深入研究的朋友一定要 Checkout 出來,看看他們怎麼建構他們網站的...

76
雜七雜八 / 該拔的牙,別拖...
« 於: 2007-03-30 12:33 »
連續掛了兩天病號,發燒加上右臉頰肌肉疼痛,頭痛。.....

因為感冒引起抵抗力降低,所以本來早該拔的牙就開始作怪。

現在蛀牙導致細菌感染所以必須吃抗生素加上消炎藥。然後等到細菌感染都好了才能去拔牙。

不要以為平常都不會痛的蛀牙沒問題,醫生說通常都會在你身體不好的時候咬你一口。...

77
目前大部分的電子商務網站,大部分後台都是直接就在線上的某個路徑下,或是某個 subdomain 下 ....

而客戶對於安全的需求,有時後會要求全部後台使用 SSL 進行連線。

所以就誕生了下面我用的這段 Code ..
In bootstrap.php
代碼: [選擇]
if(substr($_GET["url"],0,6) == CAKE_ADMIN.'/' and empty($_SERVER['HTTPS']) ){
header('Location: https://'.$_SERVER["HTTP_HOST"].'/'.CAKE_ADMIN.'/');
}

78
一般來說,我們在架構一個網站的時候都會希望把 lib 固定在一個目錄之下,而通常為了分類,會規劃更多的目錄在這個目錄中。

通常來說結構會類似這樣...

代碼: [選擇]
/libs
    /adodb
        /adodb.inc.php
    /smarty
        /libs
    /member
    /mail
    /init.php
    /template.php
/modules
    /members
    /post

這時候問題來了,若是我們在 libs 裡面的 檔案需要 require or include 另外的 libs 檔案的話,通常會需要直接給他絕對位置。
但是給絕對位置的話會由於網站可能在不同主機上得目錄不同需要修改。

這時候我會建議兩種作法。

第一種:建立一個 config.inc.php ,內含一個 Document_root 的常數設定,而設定的位置就是 網站的跟目錄的絕對位置。
這時候你只要在各個 include 的時候,使用

代碼: [選擇]
include_once(Document_root."libs/init.php");
require_once(Document_root."libs/smarty/ilbs/smarty.inc.php");


缺點就是每次若是 config.inc.php 中的設定跟實際環境不同的時候會有問題.

第二種的方式就是用系統常數 __FILE__
__FILE__的常數會自動產生,內容是目前檔案的絕對路徑。若是被 Include 的檔案會產生的是位置,而不是 include 檔案的位置。

這樣我就可以這樣用,例如在 init.php 一律都是放在 libs 目錄下,而由其他任何一個檔案去 require ...

代碼: [選擇]
include_onre(dirname(__FILE__)."smarty/libs/class.smarty.php");
include_onre(dirname(__FILE__)."adodb/adodb.inc.php");


當然,你也可以直接把 __FILE__ 用在 config.inc.php 中.

代碼: [選擇]
define('Document_root',dirname(__FILE__));

79
Linux 討論版 / Mandriva 2007 3D 桌面設定...
« 於: 2006-10-31 16:42 »
首先,請把你的 Mandriva 2007 裝起來....

裝好後...
根據你的網卡,利用 dkms 安裝專屬驅動程式...
例如我的是 ATI

代碼: [選擇]
urpmi ati dkms

接著就會把顯示卡驅動程式裝好,但是裝好了不等於設好了。
請到 [系統->管理->設定你的電腦->硬體->設定圖形伺服器] 重新設定您的顯示卡。

若是他問你是否使用專屬驅動程式,請回答 Yes...

接著請重新開機(我的需要,因為要替換調kernel 正在運行的 rendon 的模組為 fglrx 來作為顯示卡模組.)

重新開機後,進入 Xwindow 後,一樣執行[設定你的電腦->硬體]
這次執行 3D ..

他會要求你安裝一些 mesa 3ddesktop 的套件,安裝好後就可以選擇是否要開啟 3D桌面 ....
確定開啟後,請登出重新登入(或是重新開機也行)....

若是你看到視窗都有陰影,視窗放大縮小都會跳動,那就是有成功了!!

http://static.flickr.com/112/284483906_8699ee6dbb.jpg


80
雜七雜八 / 我在 Coscup 現場...
« 於: 2006-10-28 10:03 »
人好多..
晚到了沒位子,先在外面上網好了...

81
平常都要自己pr一下Model 的回傳等,常常會覺得挺麻煩的。

下面是自己寫的一個小工具,直接在畫面上填入要測試Model,然後輸入要 Run 的 Command ...
就可以了。
(目前無法做 save 的相關動作。)

Controller
代碼: [選擇]
<?php
class DemoController extends AppController
&#123;
        //var $scaffold;
        
var $name 'Demo';
        var 
$uses = array&#40;&#41;;
        
var $helpers = array&#40;'Html', 'Form' &#41;;

        
function index&#40;&#41;&#123;
            
if&#40;!empty&#40;$this->data&#41;&#41;&#123;
                
$command_str '$model = new '.$this->data['Test'&#93;['model'&#93;.";\n";
                
$command_str .= '$result = $model->'.$this->data['Test'&#93;['Command'&#93;.';';
                
eval&#40;$command_str&#41;;
                
$this->set&#40;'command_str',$command_str&#41;;
                
$this->set&#40;'result',$result&#41;;
            
&#125;
        
&#125;
&#125;
?>


View
代碼: [選擇]
<form action="<?=$html->url('/demo/')?>" method="post">
    <label>Model Name</label>
    <?=$html->input('Test/model',array('size'=> '40'))?>
    <label>Function</label>
    <?=$html->input('Test/Command',array('size'=> '40'))?>
    <?=$html->submit();?>
</form>

<h1>Code</h1>
<?
if(isset($command_str)){
    highlight_string($command_str);
}
?>


<h1>Result</h1>
<?
if(isset($result)){
    pr($result);
}
?>


圖片請看
http://www.darkhero.net/index.php?topic=6.0

82
PHP程式設計討論區 / Yahoo 的一些簡報~
« 於: 2006-09-26 10:17 »
http://public.yahoo.com/~radwin/

每一年都有。
當中~ PHP at Yahoo! 介紹了Yahoo選擇PHP作為 Yscript 的替代者的過程~以及目前的應用狀況~

83
TnLUG--Harden System - 由入侵手法部署防禦策略 影片檔的BT.
http://home.v-dark.net/~darkhero/samc_bt/20060625.torrent

其他的等我下載完就會弄了...

84
因為我目前都是直接 svn Cakephp 來使用的。

在昨天更新後,解決了 data 的欄位無法正確帶入值得問題,但是卻發生了原來正常的Link變成了亂碼∼

因為那些Link都是用 $html->link(); 去產生的,所以立刻就懷疑 cakephp 的 helper 有做了修改。

在 /cake/libs/view/helpers/html.php 中大約第 160 行的地方可以看到.....

function link($title, $url = null, $htmlAttributes = null, $confirmMessage = false, $escapeTitle = true, $return = false)

接著我又去查了 svn log 看最近 html.php 有那些修改...
--- html.php (revision 33)
+++ html.php (local)
@@ -159,12 +159,12 @@
*/
function link($title, $url = null, $htmlAttributes = null, $confirmMessage = false, $escapeTitle = true, $return = false) {
if ($escapeTitle) {
- $title = htmlspecialchars($title, ENT_QUOTES);
+ $title = htmlentities($title, ENT_QUOTES);
}
$url = $url ? $url : $title;

if ($confirmMessage) {
- $confirmMessage = htmlspecialchars($confirmMessage, ENT_NOQUOTES);
+ $confirmMessage = htmlentities($confirmMessage, ENT_NOQUOTES);
$confirmMessage = str_replace("'", "\'", $confirmMessage);
$confirmMessage = str_replace('"', '"', $confirmMessage);
$htmlAttributes['onclick']="return confirm('{$confirmMessage}');";


真糟糕..他竟然把escapeTitle 從 htmlspecialchars 改成用 htmlentities ...

看樣子只有幾個方法解決..不是自己改回來...
或是替htmlentities 加入語系參數了...

補充: Big5 才會這樣子....

85
PHP程式設計討論區 / cakephp 建議安裝方式
« 於: 2006-07-14 18:42 »
參考 http://manual.cakephp.org/chapter/3 的建議安裝方式..
   安裝方式基本上有分下面幾種.
   1. 一般安裝.
   2. Production Setup
   3. Advanced Setup: Alternative Installation Options

   1. 只要將 cakephp 放在 DocumentRoot 即可.
   2. 只要將 DocumentRoot 指到 cakephp_install_path/app/webroot/ 即可.

   3. 最麻煩但是也最安全.
   3.1 建立 /usr/local/lib/cake
   3.2 將 cake_install_path/cake 複製到 /usr/local/lib/cake/
   3.3 利用 bake.php 建立 project 例如放在 /home/me/cake_site/myproject
   3.4 將 /home/me/cake_site/myproject/webroot/* 複製到 DocumentRoot
   3.5 修改 DocumentRoot/index.php
代碼: [選擇]

       if (!defined('ROOT'))
       {
           define('ROOT', '/home/me/cake_site/');
       }

       if (!defined('APP_DIR'))
       {
           define ('APP_DIR', 'myproject');
       }

       if (!defined('CAKE_CORE_INCLUDE_PATH'))
       {
           define('CAKE_CORE_INCLUDE_PATH', '/usr/local/lib/cake/');
       }

   3.6 開啟瀏覽器檢視網頁.看是否可以正確執行你的cakephp囉.

86
PHP程式設計討論區 / cakephp admin
« 於: 2006-07-14 18:41 »
新版的 Cakephp 的 core.php 中多了滿多東西。
   其中有個
/**
 * Uncomment the define below to use cake built in admin routes.
 * You can set this value to anything you want.
 * All methods related to the admin route should be prefixed with the
 * name you set CAKE_ADMIN to.
 * For example: admin_index, admin_edit
 */
//        define('CAKE_ADMIN', 'admin');
   只要設定了這個後,就可以使用 http://domain/admin/controller/action 去呼叫
   controller 中的 admin_action 作為 管理用的 action .

87
活動/聚會區 / SAMC 測試網站...
« 於: 2006-06-19 16:50 »
前一陣子寫的,最近沒啥時間更新。

有空的朋友可以先看看,先玩玩。
目前新的研討會資料我會直接先貼上去。

http://samc.v-dark.net/

2006.08.01 更新成為新的網址....

88
公司要 so-net adsl 換 hinet .....
但是我不想多拉線....=_=...

能不能直接申請hinet,然後用同一個付卦電話...
等 hinet 連上了再去退掉 so-net 嗎?

90
PHP程式設計討論區 / [LIB]FeedCreator
« 於: 2006-05-18 11:54 »
本來要回 網頁設計版 那個問 RSS 的人,但是發覺他好像是用 ASP ....
所以這個應該對他來說不適合~

http://www.bitfolge.de/rsscreator-en.html

一個不錯的 Feed 產生器(也就是 Rss 產生器)...
站上的範例說的很清楚,不管你是要把討論區加上 Rss 功能,還是把留言版加上 RSS 甚至是把 Web Email 加上 RSS ...都可以用這套試試看唷~

頁: 1 2 [3] 4 5 6