Archive

Posts Tagged ‘PHP’

建立網頁縮圖(Webthumb)

十月 5th, 2007

目前不少網站都有自動產生網頁縮圖的功能,像是 HEMiDEMifunP 推推王Alexa 等等,雖然很想知道其中所使用的技術,不過似乎很難找到相關文章,大多是倚賴提供縮圖服務的網站居多。

Bluga.net WebThumb
我覺得很不錯的縮圖服務網站,每個月可免費建立 250 組縮圖,且提供 API 可以應用在程式上,產生縮圖速度算滿快的,大約 2~5 分鐘即可顯示。

artViper Website Tools
這網站有提供一些 Website Tools,其中就有網頁縮圖的功能。

Website Thumbnail Generator
這個是不需要依賴其他網站的,使用了 IECapt 這個小工具,所以主機只能是 Windows,配合 PHP 來自動產生縮圖。

延伸閱讀:
Website Thumbnail Creators (Website Snapshot Generators)

Other, PHP, 程式筆記 , , ,

用 PHP 寫 RS232 串列通訊程式

十月 2nd, 2007

相信經常在翻 PHP 手冊的人應該都有察覺,PHP 不只是可以用來開發網頁程式而已,很多其他語言能完成的工作 PHP 也都做的到,例如透過 PHP 的 Direct IO Functions 就可以對 Serial port 溝通,而且可以在 Windows 下執行,一般在 Windows 要實做 com port 通訊程式,大多是透過像 VB/VC++/C++ Builder 這類程式所提供的元件來撰寫,不過用 PHP 就可以很快實做出一般的功能囉!

在開始之前要先讓 PHP 支援 dio 才行,5.1.0 版之後已經將 dio 移至 PECL 了,可以到 PHP 官網下載編譯好的 PECL,解壓縮後將裡面的 php_dio.dll 放到 PHP 目錄的 ext 底下,接著修改 php.ini 加入 extension=php_dio.dll 即可。

在 Windows 底下讀取 COM1 的例子:


<?php
exec('mode COM1: baud=19200 data=8 stop=1 parity=n');
$fd = dio_open('COM1:', O_RDWR);
while (1) {
    $data = dio_read($fd, 1);
    if ($data) {
        echo $data;
    }
}
dio_close($fd);
?>

寫法跟在 Linux 用 C 寫 serial 通訊程式差不多,其中 mode 是 Windows 命令列一個設定 serial port 組態的工具(類似 Linux 的 stty),可以打 mode /? 看詳細說明,設定好傳輸率等,接著用 dio_open 開啟裝置,然後就可以做存取的動作囉!

※ 2009/04/10 補充:
有不少人看了這篇之後,問我要怎麼用 PHP 讀取 GPS 資料。
在這邊要跟各位補充的是,如果您想要用瀏覽器在網頁執行 PHP,然後去讀取 GPS,這的確可以抓到資料,但其實是存在很多問題的,因為 Web 架構並不適合應用在這類有「持續連接」行為的地方,所以有可能發生 timeout、資源佔用、搶奪,嚴重的話會導致伺服器 crash。

但是如果一定要用 PHP 實作,建議應該是利用 command line 的方式執行,在背景專門負責抓 GPS 資料 ,並且將座標資料存入檔案或資料庫,然後網頁再去存取座標資料,如此一來便不會影響到 Web 運作。

PHP, 程式筆記 ,

JavaScript 讀取外部文字檔

八月 3rd, 2007

想要利用 JavaScript 來讀取一個檔案內容,搜尋到的方法很多都是用 ActiveX 物件來達成,這樣缺點就只能 IE Only 了。不過後來發現其實用 Ajax 就可以達成了。

搭配 JQuery 使用:


$.get('content.txt', function(data){
	alert(data);
});

這裡透過 Ajax 發出 GET Request 到 content.txt,就會直接將檔案的內容傳回輸出,很簡單吧^^

但是由於 Ajax 考慮到安全性,所以只能作用在同網域底下。如果要讀的檔案是遠端主機上的呢?這時可以利用其他程式當作中間人,例如透過 PHP 去取得不同網域下的檔案。

JS 內容:


$.get('readfile.php', function(data){
	alert(data);
});

PHP 內容:


<?php
echo file_get_contents("http://aaa.com.tw/content.txt");
?>

Ajax, Other, 程式筆記 , , ,

CodeIgniter - PHP Framework

七月 28th, 2007

最近在 PTT 的 PHP 版看到有人提到了這個 PHP Framework - CodeIgniter,當然也好奇的稍微瞭解一下囉!

目前 PHP 最受矚目的應該是剛釋出正式版的 Zend FrameworkCakePHP 了,都是很不錯,但是 Zend 僅支援 PHP5,現在還有不少學校、企業都還沒升級;而 CakePHP 則學習曲線稍長,想馬上用來開發小型應用效果不一定會比較好。

這時可以試試 CodeIgniter,應該也是不錯的選擇。沒有很龐大複雜的類別庫,有基本的 MVC 模式,也有所謂的 Helpers 幫你完成一些常用的功能,官方手冊也寫的很清楚,算是滿容易上手的一個 Framework。

PHP, 程式筆記 , ,

PHP 4 壽命已近

七月 13th, 2007

PHP 官方今天正式公告了 PHP4 將在年底停止開發。這應該算是個好消息吧,算一算 PHP5 釋出已經三、四年了,到現在很多主機還是只用 PHP4,導致 PHP 程式人員不得不使用相容 PHP4 的寫法,現在 PHP4 壽命終止,可以讓更多人真正進入 PHP5 的世界,使 PHP 社群更進一步。

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.

PHP, 資訊新聞 , ,