2007年7月27日 星期五

[免費] 用 PHP 畫出 Flash 統計圖表

Neo's Blog 看到的,實在是太讚了~~

畫出來的是 Flash 檔案,非常美觀喔!
免費版本在使用者點畫面時,會連到他們的官方網站,而且沒有任何技術支援。
以這種高水準的圖表品質,卻只有這種限制,已經可以算是慈善家了。
http://www.maani.us/charts/index.php


網站上寫的很清楚~
照著做就可以做出來了~
套參數的方式也很明瞭...

唯獨好像不支援中文...
試了幾次,都無法正常顯示...
也許要改什麼地方吧...有找到再來修改 Neo's Blog 看到的,實在是太讚了~~

畫出來的是 Flash 檔案,非常美觀喔!
免費版本在使用者點畫面時,會連到他們的官方網站,而且沒有任何技術支援。
以這種高水準的圖表品質,卻只有這種限制,已經可以算是慈善家了。
http://www.maani.us/charts/index.php


網站上寫的很清楚~
照著做就可以做出來了~
套參數的方式也很明瞭...

唯獨好像不支援中文...
試了幾次,都無法正常顯示...
也許要改什麼地方吧...有找到再來修改

2007年7月24日 星期二

[Google] 用 Gmail 寄信

轉貼自 [Google] 用 Gmail 寄信
靠,用 gmail 寄信有什麼了不起?
嘿嘿,我說的可是利用 php 裡面的 libcurl 方式,把資料傳到 gmail 去,
讓 gmail 當你的 smtp 呢!這裡下載 libgmailer
以下是範例程式:
require("libgmailer.php");
$gmail_acc = "帳號@gmail.com";
$gmail_pwd =
"密碼";
$my_timezone = "GMT +08:00";
$gmailer = new GMailer();
if
($gmailer->created) {
$gmailer->setLoginInfo($gmail_acc, $gmail_pwd,
$my_timezone);
// $gmailer->setProxy("proxy.company.com");
if
($gmailer->connect()) {
// GMailer connected to Gmail successfully.
// Do something with it.
$to = "收件人@gmail.com";
$subj = "主題";
$body = "測試";

$gmailer->send($to, $subj, $body, $cc="", $bcc="",
$mid="", $tid="", $files=0, $draft=false, $orig_df="", $is_html=0, $from="",
$attachments = array());
} else {
die("Fail to connect because:
".$gmailer->lastActionStatus()."\n");
}
} else {
die("Failed to
create GMailer because: ".$gmailer->lastActionStatus()."\n");
}
轉貼自 [Google] 用 Gmail 寄信
靠,用 gmail 寄信有什麼了不起?
嘿嘿,我說的可是利用 php 裡面的 libcurl 方式,把資料傳到 gmail 去,
讓 gmail 當你的 smtp 呢!這裡下載 libgmailer
以下是範例程式:
require("libgmailer.php");
$gmail_acc = "帳號@gmail.com";
$gmail_pwd =
"密碼";
$my_timezone = "GMT +08:00";
$gmailer = new GMailer();
if
($gmailer->created) {
$gmailer->setLoginInfo($gmail_acc, $gmail_pwd,
$my_timezone);
// $gmailer->setProxy("proxy.company.com");
if
($gmailer->connect()) {
// GMailer connected to Gmail successfully.
// Do something with it.
$to = "收件人@gmail.com";
$subj = "主題";
$body = "測試";

$gmailer->send($to, $subj, $body, $cc="", $bcc="",
$mid="", $tid="", $files=0, $draft=false, $orig_df="", $is_html=0, $from="",
$attachments = array());
} else {
die("Fail to connect because:
".$gmailer->lastActionStatus()."\n");
}
} else {
die("Failed to
create GMailer because: ".$gmailer->lastActionStatus()."\n");
}

2007年7月20日 星期五

用 PHP 擷取遠端網頁資訊

轉錄自用 PHP 擷取遠端網頁資訊
以下程式碼會介紹如何擷取遠端網頁資訊,包括 HTML tag 裡面的 Title, Description 及 Keywords:

PHP:
< ? php
//----- 定義要擷取的網頁地址
$url = "http://web-address";

//----- 讀取網頁源始碼
$fp = file_get_contents($url);
//highlight_string($fp); // 顯示html

//----- 擷取 title 資訊
preg_match("/< t i t l e >(.*)< \/ t i t l e >/s", $fp, $match);
$title = $match[1];

//----- 擷取 Description 及 Keywords
$metatag = get_meta_tags($url);
$description = $metatag["description"];
$keywords = $metatag["keywords"];

//----- 印出結果
echo "URL: $url\n";
echo "Title: $title\n";
echo "Description: $description\n";
echo "Keywords: $keywords\n";
? > 轉錄自用 PHP 擷取遠端網頁資訊
以下程式碼會介紹如何擷取遠端網頁資訊,包括 HTML tag 裡面的 Title, Description 及 Keywords:

PHP:
< ? php
//----- 定義要擷取的網頁地址
$url = "http://web-address";

//----- 讀取網頁源始碼
$fp = file_get_contents($url);
//highlight_string($fp); // 顯示html

//----- 擷取 title 資訊
preg_match("/< t i t l e >(.*)< \/ t i t l e >/s", $fp, $match);
$title = $match[1];

//----- 擷取 Description 及 Keywords
$metatag = get_meta_tags($url);
$description = $metatag["description"];
$keywords = $metatag["keywords"];

//----- 印出結果
echo "URL: $url\n";
echo "Title: $title\n";
echo "Description: $description\n";
echo "Keywords: $keywords\n";
? >

2007年7月13日 星期五

PHP function: 壓縮 CSS file

Tsung's Blog 那看到的
PHP function: 壓縮 CSS file

真是獲益良多啊~~

透過此 function 可在吐 CSS 時, 或者在版本 Release 時, 自動壓縮 還是比較方便點~ :)
以下轉載自: PHP-function to optimize a CSS-file
PS: 我對此檔案加了作者, 原始連結資訊 和 簡單排版.


<?php
/**
* Converts a CSS-file contents into one string
* Source Code: http://snippets.dzone.com/posts/show/4137
* @Author: Dmitry-Sh http://snippets.dzone.com/user/Dmitry-Sh
*
* @param string $t Text data
* @param int $is_debug Skip convertion
* @return string Optimized string
*/
function text_smooth_css($t, $is_debug = 0)
{
 if ($is_debug)
 {
  return $t;
 }

 /* Remove comments */
 $t = preg_replace("/\/\*(.*?)\*\//s", ' ', $t);

 /* Remove new lines, spaces */
 $t = preg_replace("/(\s{2,}|[\r\n|\n|\t|\r])/", ' ', $t);

 /* Join rules */
 $t = preg_replace('/([,|;|:|{|}]) /', '\\1', $t);
 $t = str_replace(' {', '{', $t);

 /* Remove ; for the last attribute */
 $t = str_replace(';}', '}', $t);
 $t = str_replace(' }', '}', $t);

 return $t;
}
?> Tsung's Blog 那看到的
PHP function: 壓縮 CSS file

真是獲益良多啊~~

透過此 function 可在吐 CSS 時, 或者在版本 Release 時, 自動壓縮 還是比較方便點~ :)
以下轉載自: PHP-function to optimize a CSS-file
PS: 我對此檔案加了作者, 原始連結資訊 和 簡單排版.


<?php
/**
* Converts a CSS-file contents into one string
* Source Code: http://snippets.dzone.com/posts/show/4137
* @Author: Dmitry-Sh http://snippets.dzone.com/user/Dmitry-Sh
*
* @param string $t Text data
* @param int $is_debug Skip convertion
* @return string Optimized string
*/
function text_smooth_css($t, $is_debug = 0)
{
 if ($is_debug)
 {
  return $t;
 }

 /* Remove comments */
 $t = preg_replace("/\/\*(.*?)\*\//s", ' ', $t);

 /* Remove new lines, spaces */
 $t = preg_replace("/(\s{2,}|[\r\n|\n|\t|\r])/", ' ', $t);

 /* Join rules */
 $t = preg_replace('/([,|;|:|{|}]) /', '\\1', $t);
 $t = str_replace(' {', '{', $t);

 /* Remove ; for the last attribute */
 $t = str_replace(';}', '}', $t);
 $t = str_replace(' }', '}', $t);

 return $t;
}
?>

2007年7月12日 星期四

foreach的用法

參考自
http://linux.tnc.edu.tw/techdoc/banic/add.html

在 PHP4中,新增了一個迴圈 foreach,它很像是 perl和其它的語言,你可以給它一個陣列,讓它來取出陣列的值。它有下列這二個語法,第二個語法是較次要的,但是可用來作為第一個語法的延伸。

foreach(array_expression as $value) statement

foreach(array_expression as $key => $value) statement

第一個形式的迴圈,它會在每個迴圈上,將目前元素的值分配給 $value,並且向後移動陣列的內部指標,
所以在下一個迴圈的時候,你就會看到下一個元素了。

第二個形式的迴圈和第一個是相同的,不同的是它會在每個迴圈將目前元素的索引值分配給變數 $key。



注意 : 當 foreach第一次開始執行的時候,它會把陣列的內部指標重新設定到陣列的第一個元素,意思是說,在使用 foreach之前,你不必再去呼叫
reset( )。
注意 : foreach是運作在陣列的複製,而不是陣列它本身,因此並不會改變陣列指標

下面範例的功能都是相同的 :
<? php
 reset ($arr);
 while (list(, $value) = each ($arr)) {
  echo "Value: $value";
 }
 foreach ($arr as $value) {
  echo "Value: $value";
 }
?>
下面範例的功能也都是相同的 :
<?php
 reset ($arr);
 while (list($key, $value) = each ($arr)) {
  echo "Key: $key; Value: $value";
 }
 foreach ($arr as $key => $value) {
  echo "Key: $key; Value: $value";
 }
?>
以下的範例將說明 foreach的用法 :
<?php
 /* foreach example 1: value only */
 $a = array (1, 2, 3, 17);
 foreach ($a as $v) {
  print "Current value of \$a: $v";
 }
 /* foreach example 2: value (with key printed for illustration) */
 $a = array (1, 2, 3, 17);
 $i = 0;
 /* for illustrative purposes only */
 foreach($a as $v) {
  print "\$a[$i] => $k";
 }
 /* foreach example 3: key and value */
 $a = array (
  "one" => 1,
  "two" => 2,
  "three" => 3,
  "seventeen" => 17
 );
 foreach($a as $k => $v) {
  print "\$a[$k] => $v";
 }
?> 參考自
http://linux.tnc.edu.tw/techdoc/banic/add.html

在 PHP4中,新增了一個迴圈 foreach,它很像是 perl和其它的語言,你可以給它一個陣列,讓它來取出陣列的值。它有下列這二個語法,第二個語法是較次要的,但是可用來作為第一個語法的延伸。

foreach(array_expression as $value) statement

foreach(array_expression as $key => $value) statement

第一個形式的迴圈,它會在每個迴圈上,將目前元素的值分配給 $value,並且向後移動陣列的內部指標,
所以在下一個迴圈的時候,你就會看到下一個元素了。

第二個形式的迴圈和第一個是相同的,不同的是它會在每個迴圈將目前元素的索引值分配給變數 $key。



注意 : 當 foreach第一次開始執行的時候,它會把陣列的內部指標重新設定到陣列的第一個元素,意思是說,在使用 foreach之前,你不必再去呼叫
reset( )。
注意 : foreach是運作在陣列的複製,而不是陣列它本身,因此並不會改變陣列指標

下面範例的功能都是相同的 :
<? php
 reset ($arr);
 while (list(, $value) = each ($arr)) {
  echo "Value: $value";
 }
 foreach ($arr as $value) {
  echo "Value: $value";
 }
?>
下面範例的功能也都是相同的 :
<?php
 reset ($arr);
 while (list($key, $value) = each ($arr)) {
  echo "Key: $key; Value: $value";
 }
 foreach ($arr as $key => $value) {
  echo "Key: $key; Value: $value";
 }
?>
以下的範例將說明 foreach的用法 :
<?php
 /* foreach example 1: value only */
 $a = array (1, 2, 3, 17);
 foreach ($a as $v) {
  print "Current value of \$a: $v";
 }
 /* foreach example 2: value (with key printed for illustration) */
 $a = array (1, 2, 3, 17);
 $i = 0;
 /* for illustrative purposes only */
 foreach($a as $v) {
  print "\$a[$i] => $k";
 }
 /* foreach example 3: key and value */
 $a = array (
  "one" => 1,
  "two" => 2,
  "three" => 3,
  "seventeen" => 17
 );
 foreach($a as $k => $v) {
  print "\$a[$k] => $v";
 }
?>