blog.Ring.idv.tw

PHP

Zend Framework in Action

Zend Framework in Action

作者:Rob Allen & Nick Lo

這本書問世的時間應該要到明年4月了~

從七月份釋出Zend Framework 1.0 版後~ 到這本書要拿到手中可能要九或十個月之久~

所以還是趕緊K官方文件較實在了~

有空的話可以去Rob Allen的Blog走走~ 裡面有蠻豐富的資源~

2007-10-12 11:00:52 | Comments (1)

PHP - 檔案上傳

由於Zend Framework沒有提供檔案上傳的library,所以只好自行撰寫這部份的程式~

檔案上傳-「commons fileUpload」這是Java版的檔案上傳,兩者相形之下~ PHP顯得相當簡化!

前置作業

1.在C:磁碟機下建立一個「tmp」的資料夾。

2.在你的htdocs資料夾下建立一個「upload」的資料夾。(上傳到此處)

php.ini設定

file_uploads = On

upload_tmp_dir = C:\\tmp

upload_max_filesize = 10M

upload.html

<form enctype="multipart/form-data" action="upload.php" method="POST">
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

upload.php

$uploaddir = './upload/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Possible file upload attack!\n";
}

解決中文檔名上傳問題

將上述第三行改成下述即可,也就是將原本所使用的UTF-8編碼改成Big5字串,並傳給move_uploaded_file()函式來使用,感覺上應該是move_uploaded_file()函式的問題,不過這純屬猜測~ 也有可能是作業環境的編碼問題~ Anyway, 有遇到同樣問題的朋友,不妨試著用這種方式來解決!

if (move_uploaded_file($_FILES['userfile']['tmp_name'], iconv("utf-8","Big5",$uploadfile))) {

參考資料:

Handling file uploads

2007-10-10 12:26:44 | Add Comment

PHP Data Objects (PDO) 介紹

PHP Data Objects

The PHP Data Objects (PDO) extension defines a lightweight, consistent interface for 
accessing databases in PHP. Each database driver that implements the PDO interface can expose 
database-specific features as regular extension functions. Note that you cannot perform any 
database functions using the PDO extension by itself; you must use a database-specific PDO 
driver to access a database server.

其實和JDBC是同樣的意思,兩者都是抽象層的產物,意指為提供了一致性的介面來存取資料庫,這在移植不同的資料庫時是相當方便的。

PECL4WIN,這裡提供了Windows平臺的擴充下載,當你要使用Zend_Db來連結資料庫時,請務必下載PDO的DLL檔,並設定php.ini才行。

PostgreSQL範例

設定php.ini

extension=php_pdo.dll

extension=php_pdo_pgsql.dll

Zend_Db程式片段

$params = array (
    'host'     => 'localhost',
    'username' => 'postgres',
    'password' => '****',
    'dbname'   => 'MyDB'
);	

$db = Zend_Db::factory('PDO_PGSQL', $params);
$db->setFetchMode(Zend_Db::FETCH_OBJ);
$result = $db->fetchAll('SELECT * FROM books');
$this->view->rs = $result;

2007-10-10 10:28:07 | Add Comment

Zend PHP 5 Certification

看了一下Zend PHP5 Certification,居然PHP也有認證~

而且目前臺灣通過的只有一位(其它四位應該算是PHP4),我想考古題應該也不多~

考試結果只有分通過或不通過兩種,分數將不會公佈,感覺跟博士班的資格考很像~

在90分鐘的測驗時間中必須作答70個題目,其中包含單選題、多選題和填充題,考一次需要$US:125,大約台幣5000吧~ 如果你有興趣的話可以做一下練習題~

有時間的話或許我該準備考看看~ Anyway, 先忙論文好了~

相關資源:

PHP 5 Certification FAQs

Zend PHP5 認證自我測試

Introducing the Zend PHP 5 Certification

2007-10-07 22:42:14 | Add Comment

Chris Shiflett -- Zend Framework Tutorial

PHP安全專家兼Zend Framework的貢獻者--Chris Shiflett

提供了一篇Zend Framework Tutorial,有興趣的人可以參考看看~

這裡也已經有了中譯版Zend Framework 指南

2007-10-07 21:49:15 | Add Comment

Next Posts~:::~Previous Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: Ads :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment