<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkAGRno5fSp7ImA9WhRbEU0.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699</id><updated>2012-02-01T23:05:27.425+08:00</updated><category term="astro" /><category term="地圖" /><category term="電腦雜項" /><category term="登山" /><category term="攝影" /><category term="GPS軌跡" /><category term="百岳" /><category term="單車" /><category term="涼山之友" /><category term="powershell" /><category term="雜項" /><category term="php" /><category term="microsoft" /><category term="PDA" /><category term="program" /><category term="CodeIgniter" /><category term="歷史" /><category term="Android" /><category term="sybase" /><category term="Google" /><category term="WEB" /><category term="database" /><title>煙波釣叟</title><subtitle type="html">黃盧岸白蘋渡口。綠楊堤紅蓼灘頭。雖無刎剄交，卻有忘機友。點秋江白鷺沙鷗。傲殺人間萬戶侯。不識字煙波釣叟。      沈醉東風    白樸</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://kingfff.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>182</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/qgdZ" /><feedburner:info uri="blogspot/qgdz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;Ak4FRX4yfip7ImA9WhRUEE4.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-8450886298633235536</id><published>2012-01-20T13:55:00.000+08:00</published><updated>2012-01-20T13:55:14.096+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-20T13:55:14.096+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>php 5.2.* 如何解決Hash Collision</title><content type="html">前一陣子出現個名詞Hash Collision。接者Hash Collision DoS這名詞跟者出現，而後就看到很多系統、語言開始出現更新patch。 XD&lt;br /&gt;
&lt;br /&gt;
Hash Collision影響範圍有多廣，可以參考&lt;a href="http://www.ocert.org/advisories/ocert-2011-003.html" title="oCERT.org - oCERT Advisories"&gt;oCERT.org - oCERT Advisories&lt;/a&gt;。裡面列出受到影響的語言、系統，以及目前的狀況。以php為例，5.3.9後、或5.4.0RC4後的版本才修正此狀況。&lt;br /&gt;
&lt;br /&gt;
可以更新的語言或系統，就請自己更新…如果不再上面的，就比較麻煩了…  :(&lt;br /&gt;
&lt;br /&gt;
以php 5.2.x為例。出了&lt;a href="http://www.php.net/archive/2010.php#id2010-12-16-1" title="PHP 5.2.16"&gt;PHP 5.2.16&lt;/a&gt;時，PHP官方指出該版本是php 5.2.x 的最後一版，往後將不再維護。雖然，沒多久因為一個重大問題，又馬上出了&lt;a href="http://www.php.net/archive/2011.php#id2011-01-06-1" title="PHP 5.2.17"&gt;PHP 5.2.17&lt;/a&gt;。但…這次聽說不會因為Hash Collision出新版本更新此問題。&lt;br /&gt;
&lt;br /&gt;
只好找治標的方式來防止。PHP的參數中和Hash Collision攻擊有關的php參數有兩個&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.php.net/manual/en/info.configuration.php#ini.max-input-time" title="PHP: Runtime Configuration - Manual"&gt;max-input-time&lt;/a&gt;，PHP 預設為 -1（意即不限制執行時間）&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time" title="PHP: Runtime Configuration - Manual"&gt;max-execution-time&lt;/a&gt;，PHP 預設為30秒&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
可以藉由這兩個參數，"降低"被攻擊時的影響。不過，調整參數&lt;a href="http://www.php.net/manual/en/info.configuration.php#ini.max-input-time" title="PHP: Runtime Configuration - Manual"&gt;max-input-time&lt;/a&gt;時需要注意。被修改設定的主機，是否會接受client上傳圖檔？如果有，這個時間就需要拿捏了… 避免圖檔上傳的時間超過了設定時間。&lt;br /&gt;
&lt;br /&gt;
雖然PHP官方不提供patch，不過…如FreeBSD還是有提供。詳見&lt;a href="http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/php52/distinfo" title="CVS log for ports/lang/php52/distinfo"&gt;CVS log for ports/lang/php52/distinfo&lt;/a&gt;。如果您是使用FreeBSD就趕緊更新吧。更新後的版本為PHP 5.2.17_5。&lt;br /&gt;
附註：FreeBSD版本的php，&lt;a href="http://www.php.net/manual/en/info.configuration.php#ini.max-input-time" title="PHP: Runtime Configuration - Manual"&gt;max-input-time&lt;/a&gt;預設值不是 -1 ，卻是60秒。&lt;br /&gt;
&lt;br /&gt;
或者，參考下方參考資料中&lt;a href="http://www.laruence.com/2011/12/30/2440.html" title="PHP5.2.*防止Hash冲突拒绝服务攻击的Patch"&gt;PHP5.2.*防止Hash冲突拒绝服务攻击的Patch&lt;/a&gt;的作法。&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c_head"&gt;參考資料&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ocert.org/advisories/ocert-2011-003.html" title="oCERT.org - oCERT Advisories"&gt;oCERT.org - oCERT Advisories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://coolshell.cn/articles/6424.html" title="Hash Collision DoS 問題"&gt;Hash Collision DoS 問題&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.laruence.com/2011/12/29/2412.html" title="通过构造Hash冲突实现各种语言的拒绝服务攻击"&gt;通过构造Hash冲突实现各种语言的拒绝服务攻击&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.laruence.com/2011/12/30/2435.html" title="PHP数组的Hash冲突实例"&gt;PHP数组的Hash冲突实例&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.laruence.com/2011/12/30/2440.html" title="PHP5.2.*防止Hash冲突拒绝服务攻击的Patch"&gt;PHP5.2.*防止Hash冲突拒绝服务攻击的Patch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bugs.php.net/bug.php?id=60623" title="PHP :: Sec Bug #60623 :: Hash Table Collisions"&gt;PHP :: Sec Bug #60623 :: Hash Table Collisions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PHP參數-&lt;a href="http://www.php.net/manual/en/info.configuration.php#ini.max-input-time" title="PHP: Runtime Configuration - Manual"&gt;max-input-time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PHP參數-&lt;a href="http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time" title="PHP: Runtime Configuration - Manual"&gt;max-execution-time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;IIS更新說明-&lt;a href="http://support.microsoft.com/kb/2662694/zh-tw" title="Microsoft Security Bulletin MS11-100 - Critical : Vulnerabilities in .NET Framework Could Allow Elevation of Privilege (2638420)"&gt;Microsoft Security Bulletin MS11-100 - Critical : Vulnerabilities in .NET Framework Could Allow Elevation of Privilege (2638420)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.php.net/index.php#id2012-01-11-1" title="PHP 5.3.9 Released!"&gt;PHP 5.3.9 Released - Added max_input_vars directive to prevent attacks based on hash collisions. (CVE-2011-4885)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.php.net/archive/2010.php#id2010-12-16-1" title="PHP 5.2.16"&gt;PHP 5.2.16&lt;/a&gt;版本更新&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.php.net/archive/2011.php#id2011-01-06-1" title="PHP 5.2.17"&gt;PHP 5.2.17&lt;/a&gt;版本更新&lt;/li&gt;
&lt;li&gt;FreeBSD PHP52 更新說明-&lt;a href="http://www.freebsd.org/cgi/cvsweb.cgi/ports/lang/php52/distinfo" title="CVS log for ports/lang/php52/distinfo"&gt;CVS log for ports/lang/php52/distinfo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-8450886298633235536?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Z7cw5zd4OzJis0RiX_kBIeq57pI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z7cw5zd4OzJis0RiX_kBIeq57pI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Z7cw5zd4OzJis0RiX_kBIeq57pI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z7cw5zd4OzJis0RiX_kBIeq57pI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/YLhR3h_5PMo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/8450886298633235536/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=8450886298633235536" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/8450886298633235536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/8450886298633235536?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/YLhR3h_5PMo/php-52-hash-collision.html" title="php 5.2.* 如何解決Hash Collision" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2012/01/php-52-hash-collision.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEICR3g_fCp7ImA9WhRVGU4.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-6606213904795065264</id><published>2012-01-18T22:32:00.002+08:00</published><updated>2012-01-19T08:22:46.644+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T08:22:46.644+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>秀巒控溪吊橋楓紅</title><content type="html">&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666940989/" title="秀巒"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7153/6666940989_0fbc16abb4.jpg" alt="秀巒" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;秀巒檢查哨附近的楓紅&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;位於新竹尖石、五峰霞喀羅古道，其實非常的深山。每次（冬天）去造訪，都是天還沒亮時就開車出發，回到家時天也早已經黑了…最快的一次，是回程時經過內灣時天才黑…&lt;br /&gt;
&lt;br /&gt;
雖然車程是如此緊湊，每次經過途中的宇老、及秀巒時，卻一定會挪出時間，在這兩處欣賞風景、拍拍照片。之後才會去霞喀羅古道養老段。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666622131/" title="關西休息站"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7141/6666622131_5d0724e4cc.jpg" alt="關西休息站" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;運氣不錯，到達關西休息站時，天氣已經轉好。&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666623293/" title="內灣吊橋"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7166/6666623293_3800989419.jpg" alt="內灣吊橋" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;清晨的內灣吊橋&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
先介紹宇老。由內灣轉入尖石後，循錦屏道路高度慢慢上昇，達到最高點時就是宇老。這段路線其實還蠻陡的…雖然如此，每次都可以看到鐵馬騎士，騎者單車踏上宇老。&lt;br /&gt;
&lt;br /&gt;
到宇老時，有岔路通往不同地方。一個方向可通往李棟山，另一個方向往下，則是通往秀巒、霞喀羅古道、司馬庫斯等地。&lt;br /&gt;
&lt;br /&gt;
站在宇老，天氣好時可以眺望遠方的大壩尖山。曾經在此遇過一次，看到對面白雪皚皚的大壩尖山山頭。這次雖然沒見到白雪皚皚的山頭，卻看到了雲海。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666625241/" title="雲海@宇老"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7157/6666625241_70e57af4c0.jpg" alt="雲海@宇老" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;雲海@宇老&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666625857/" title="大壩尖山"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7033/6666625857_ce8c13fbd8.jpg" alt="大壩尖山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;大壩尖山&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666624669/" title="宇老"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7008/6666624669_44bd35b7cb.jpg" alt="宇老" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;由宇老開始，沿途斷斷續續可見楓紅&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666626201/" title="宇老"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7024/6666626201_fa3813000d.jpg" alt="宇老" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;今年的選戰好像有點冷？&lt;br /&gt;
在這一帶山區，只有此處和田埔可見稀疏的候選人競選旗幟&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
由宇老往秀巒途中會經過田埔教會，每次由霞喀羅古道回程時，在耶誕節前後經過此處，於昏暗的天色中，可以看見裝飾漂亮的教堂。&lt;br /&gt;
&lt;br /&gt;
循秀巒道路而下，高度一直下降。道路兩旁有不少楓樹，這次經過時都已經紅了。當高度降到可以看到溪流時，表示已經接近秀巒。此處有名的景點之一是控溪吊橋的楓紅，另一個景點則是。走過控溪吊橋後可以看到的軍艦岩。&lt;br /&gt;
&lt;br /&gt;
在控溪吊橋旁，有兩條溪流在此會合。分別為塔克金溪（泰崗溪）、塔克金溪（泰崗溪）。會流後為馬里闊丸溪 (玉峰溪)，是為大漢溪源頭。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666936507/" title="秀巒控溪吊橋附近楓紅"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7157/6666936507_f8611a3598.jpg" alt="秀巒控溪吊橋附近楓紅" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;此次造訪時，秀巒控溪吊橋附近楓紅已經不多了&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
今年天氣很怪，入秋後天氣涼的很早，寒流卻很晚才報到。這次造訪前一週，看網路上的照片覺得楓樹還不紅…沒想到，寒流一來…楓葉雖然紅了，卻也掉了不少。只，好趕緊轉往下一個點，秀巒檢查所。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666937809/" title="秀巒檢查哨"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7023/6666937809_28deb09028.jpg" alt="秀巒檢查哨" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;秀巒檢查所，附近有野溪溫泉&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666937139/" title="秀巒檢查哨"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7010/6666937139_b2205356a5.jpg" alt="秀巒檢查哨" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;秀巒檢查所&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
在檢查所填寫完資料（現在填寫的，已經不是早年的入山證）後過了橋，會有一個大彎。過了此彎後請注意對面。對面有山上有一大片楓樹可以欣賞。&lt;br /&gt;
&lt;br /&gt;
這次經過時，道路稍微寬敞處都已經停了前來此處攝影者的車輛。無處可停車，加上之前已經耽擱了時間，只好在車上隨便拍幾張後離開…&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666939927/" title="秀巒檢查哨附近的楓紅"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7156/6666939927_5d5c175a36.jpg" alt="秀巒檢查哨附近的楓紅" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;秀巒檢查哨附近的楓紅&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
沒想到，等我們走完霞喀羅古道回程時經過此處，依舊有人還在取景拍攝。之後，經過控溪吊橋旁依舊停了不少車輛。看來，秀巒楓紅、賞楓的名氣應該是越來越響亮了 :)&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669975607/" title="宇老"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7156/6669975607_ba400a5698.jpg" alt="宇老" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;回到宇老時遇到大霧…&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class="c_head"&gt;之前的紀錄&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2007/01/blog-post.html" title="霞喀羅古道 2006"&gt;霞喀羅古道 2006&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2008/12/blog-post_14.html" title="霞喀羅古道入山處-秀巒吊橋"&gt;霞喀羅古道入山處-秀巒吊橋&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2008/12/blog-post_15.html" title="霞喀羅古道-養老到薩克亞金溪溪谷"&gt;霞喀羅古道-養老到薩克亞金溪溪谷&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2008/12/blog-post_16.html" title="霞喀羅古道-白石吊橋"&gt;霞喀羅古道-白石吊橋&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/01/blog-post.html" title="霞喀羅古道 2011"&gt;霞喀羅古道 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2012/01/xia-ka-luo-trail.html" title="霞喀羅古道 2012"&gt;霞喀羅古道 2012&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;h1 class="c_head"&gt;霞喀羅古道賞楓照片&lt;/h1&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/sets/72157628775368803/detail/" target="_blank" title="霞喀羅古道賞楓"&gt;&lt;b&gt; 霞喀羅古道賞楓 完整照片&lt;/b&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;宇老、及秀巒賞楓地圖、GPS航跡圖&lt;/h1&gt;&lt;iframe width="100%" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E9%259C%259E%25E5%25AE%25A2%25E7%25BE%2585%25E5%258F%25A4%25E9%2581%2593-%25E5%25AE%2587%25E8%2580%2581-2012-01-08-m.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.26761,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x346844c56ea46e29:0xecd5bdc523e0c95e,0,0x3468412ca1674fd5:0x4061145f0e1f1fc9&amp;amp;ie=UTF8&amp;amp;t=m&amp;amp;ll=24.655754,121.15654&amp;amp;spn=0.187213,0.342636&amp;amp;z=11&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E9%259C%259E%25E5%25AE%25A2%25E7%25BE%2585%25E5%258F%25A4%25E9%2581%2593-%25E5%25AE%2587%25E8%2580%2581-2012-01-08-m.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.26761,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x346844c56ea46e29:0xecd5bdc523e0c95e,0,0x3468412ca1674fd5:0x4061145f0e1f1fc9&amp;amp;ie=UTF8&amp;amp;t=m&amp;amp;ll=24.655754,121.15654&amp;amp;spn=0.187213,0.342636&amp;amp;z=11" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-6606213904795065264?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/H7qlAy2AWqPwPBVamxwuM0LlQ50/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H7qlAy2AWqPwPBVamxwuM0LlQ50/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/H7qlAy2AWqPwPBVamxwuM0LlQ50/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/H7qlAy2AWqPwPBVamxwuM0LlQ50/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/pO8tXlNFmno" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/6606213904795065264/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=6606213904795065264" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/6606213904795065264?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/6606213904795065264?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/pO8tXlNFmno/xiu-luan-red-2012.html" title="秀巒控溪吊橋楓紅" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2012/01/xiu-luan-red-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcHSXw8cSp7ImA9WhRVGEQ.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-1256609283993669222</id><published>2012-01-18T22:30:00.003+08:00</published><updated>2012-01-18T22:30:38.279+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T22:30:38.279+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>新竹霞喀羅古道賞楓</title><content type="html">&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669974551/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7142/6669974551_371aba7013.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;之前趁深秋時，走了一趟&lt;a href="http://kingfff.blogspot.com/2011/12/sister-waterfall.html" title="三峽雲森瀑布&amp;姊妹瀑布"&gt;三峽雲森瀑布&amp;姊妹瀑布&lt;/a&gt;。很可惜的，雲森瀑布前的楓還是綠色…沒欣賞到雲森瀑布的楓紅。之後，終於來了兩波寒流。想想，新竹霞喀羅古道上的楓葉應該轉紅了吧？&lt;br /&gt;
&lt;br /&gt;
一早天還沒亮，一行人就約好出發了。清晨的台北還是飄者毛毛細雨，到關西收費站前還有點霧。到了關西服務區天氣才轉好…&lt;br /&gt;
&lt;br /&gt;
算一算，走霞喀羅古道養老段也已經四、五次了，每次路況都不同。猶記得第一次造訪時，霞喀羅古道聯外道路的路況非常的差，隨處可見施工處、石堆、跟車一樣的落石…所幸車子底盤高，才輕鬆過去。今年，霞喀羅古道聯外道路的路況非常的好，需要感謝養護單位的努力。&lt;br /&gt;
&lt;br /&gt;
還有一個變化…原本在養老登山口空地改建成平台。剛到時還真傻了眼，因為這樣讓停車位少了很多。後來才知道，下方另外闢建了一個停車場…&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6666943293/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7161/6666943293_aa15444a01.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道新建的觀景台&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
造訪時的天氣不錯，映者藍天的楓紅真的很漂亮。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669970663/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7008/6669970663_ecd8eb0759.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道楓紅&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
天氣真的非常的好，看到這樣的藍天、及一抹白雲，不由自主的多按下幾次快門～  :)&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6667051023/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7003/6667051023_97b5f0f191.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
行經第一個竹林時，山徑的上方有原住民正在工作。似乎在焚燒些東西而產生了煙霧，此時光線剛好灑進竹林，穿過他們所產生的煙霧…彷彿在霧中一般…&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6667050633/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7169/6667050633_c33783539e.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;光線剛好灑進竹林，穿過他們所產生的煙霧…&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
說真的，每次走霞喀羅古道，總是會有一小段因為大自然的力量導致路線改變、或者養護單位的努力又恢復了原有路線。此次，在過了栗園駐在所，接近馬鞍駐在所前有段新的崩塌，該段路線變成要高繞通過。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6667059807/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7166/6667059807_a7255121d6.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道今年新出現的坍方路段，需要高繞&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6667061417/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7007/6667061417_f5ebb51e0e.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;仔細看坍方路段，原本的山徑整個流失&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
該路段目前僅是勉強開通，路況不好。加上連日雨勢讓這段路線非常的滑、需要小心行走。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6667060451/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7015/6667060451_deb8558733.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道高繞路段的路況不太好&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
過了高繞路段後，就到了馬鞍楓香純林。該處，也是霞喀羅古道賞楓的重要景點之一。此處的美景，吸引很多人駐足在此休息。&lt;br /&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6667165647/" title="霞喀羅古道-馬鞍楓香純林"&gt;&lt;img width="332" height="500" src="http://farm8.staticflickr.com/7026/6667165647_6c686c1f09.jpg" alt="霞喀羅古道-馬鞍楓香純林" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道-馬鞍楓香純林&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669800001/" title="霞喀羅古道-馬鞍楓香純林"&gt;&lt;img width="332" height="500" src="http://farm8.staticflickr.com/7167/6669800001_1660f0d34b.jpg" alt="霞喀羅古道-馬鞍楓香純林" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道-馬鞍楓香純林&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
如果不到白石吊橋，很多人可能就在馬鞍駐在所休息後就折返了。其實，建議要繼續往前走，走出樹林。可以的話，走過崩塌處後回頭看。可以欣賞到馬鞍楓香純林的全貌。欣賞馬鞍楓香純林另一種風貌…&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669806439/" title="霞喀羅古道-馬鞍楓香純林"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7014/6669806439_b5d3ce8186.jpg" alt="霞喀羅古道-馬鞍楓香純林" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道-馬鞍楓香純林&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669797535/" title="霞喀羅古道-馬鞍楓香純林"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7013/6669797535_30cb88eded.jpg" alt="霞喀羅古道-馬鞍楓香純林" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道-馬鞍楓香純林&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
站在馬鞍楓香純林內抬頭仰望，可見兩種不同樹種所產生的對比…一種，還是綠葉，讓人感覺不出季節的變化…一種，即將光禿的樹幹，告訴我們冬天來了…&lt;br /&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6670049625/" title="霞喀羅古道-馬鞍楓香純林"&gt;&lt;img width="332" height="500" src="http://farm8.staticflickr.com/7160/6670049625_c8fa05b987.jpg" alt="霞喀羅古道-馬鞍楓香純林" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道-馬鞍楓香純林&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6670046611/" title="霞喀羅古道-馬鞍楓香純林"&gt;&lt;img width="332" height="500" src="http://farm8.staticflickr.com/7162/6670046611_2eff6c38b2.jpg" alt="霞喀羅古道-馬鞍楓香純林" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道-馬鞍楓香純林&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669962187/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7151/6669962187_6e6d6b0476.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
這次的行程，原訂是到白石吊橋後折返。卻因為一些事情耽擱了時間…最後，過橋取水後，回到馬鞍駐在所吃過午餐後踏上歸途。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669809765/" title="霞喀羅古道-薩克亞金溪溪谷"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7025/6669809765_a75bc64f46.jpg" alt="霞喀羅古道-薩克亞金溪溪谷" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道-薩克亞金溪溪谷&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6669807521/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7173/6669807521_41b2404bab.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道上的楓紅落葉&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
新竹霞喀羅古道，算是平坦好走的古道。今年，可能是因為入秋後連日的陰雨，讓山徑變的非常泥濘。原本應該是鋪滿落葉的充滿秋意山徑，因泥濘而遜色了…這樣泥濘的路，卻依舊遇到不少來霞喀羅古道騎單車的車友…真佩服～&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6667058775/" title="霞喀羅古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7152/6667058775_c11510ef20.jpg" alt="霞喀羅古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;霞喀羅古道&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c_head"&gt;參考資料&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a title="霞喀羅-鹿場連嶺國家步道系統介紹" href="http://trail.forest.gov.tw/nt/NT_Courier_A.aspx?NT_ID=E00"&gt;霞喀羅-鹿場連嶺國家步道系統&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="台灣山林悠遊網-步道路況" href="http://recreation.forest.gov.tw/SigInfo/SigInfo_nrdS.aspx"&gt;台灣山林悠遊網-步道路況&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="新竹林區管理處-行政院農委會林務局林管處-最新消息" href="http://hsinchu.forest.gov.tw/lp.asp?CtNode=2111&amp;amp;CtUnit=1699&amp;amp;BaseDSD=7&amp;amp;mp=310"&gt;新竹林區管理處-行政院農委會林務局林管處-最新消息&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span class="c_head"&gt;之前的紀錄&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2007/01/blog-post.html" title="霞喀羅古道"&gt;霞喀羅古道&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2008/12/blog-post_14.html" title="霞喀羅古道入山處-秀巒吊橋"&gt;霞喀羅古道入山處-秀巒吊橋&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2008/12/blog-post_15.html" title="霞喀羅古道-養老到薩克亞金溪溪谷"&gt;霞喀羅古道-養老到薩克亞金溪溪谷&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2008/12/blog-post_16.html" title="霞喀羅古道-白石吊橋"&gt;霞喀羅古道-白石吊橋&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/01/blog-post.html" title="霞喀羅古道"&gt;霞喀羅古道&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;hr /&gt;&lt;br /&gt;
&lt;h1 class="c_head"&gt;霞喀羅古道賞楓照片&lt;/h1&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/sets/72157628775368803/detail/" target="_blank" title="霞喀羅古道賞楓"&gt;&lt;b&gt; 霞喀羅古道賞楓 完整照片&lt;/b&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;霞喀羅古道賞楓地圖、GPS航跡圖&lt;/h1&gt;&lt;iframe width="100%" height="420" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E9%259C%259E%25E5%25AE%25A2%25E7%25BE%2585%25E5%258F%25A4%25E9%2581%2593-2012-01-08-m.kml&amp;amp;aq=&amp;amp;sll=24.576196,121.24545&amp;amp;sspn=0.05339,0.048838&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x346844c56ea46e29:0xecd5bdc523e0c95e,0,0x3468412ca1674fd5:0x4061145f0e1f1fc9&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=24.577802,121.244001&amp;amp;spn=0.032783,0.04077&amp;amp;z=14&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E9%259C%259E%25E5%25AE%25A2%25E7%25BE%2585%25E5%258F%25A4%25E9%2581%2593-2012-01-08-m.kml&amp;amp;aq=&amp;amp;sll=24.576196,121.24545&amp;amp;sspn=0.05339,0.048838&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x346844c56ea46e29:0xecd5bdc523e0c95e,0,0x3468412ca1674fd5:0x4061145f0e1f1fc9&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=24.577802,121.244001&amp;amp;spn=0.032783,0.04077&amp;amp;z=14" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-1256609283993669222?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OCnpWTyDXNnXlHTo1Pz31zcJbVI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OCnpWTyDXNnXlHTo1Pz31zcJbVI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OCnpWTyDXNnXlHTo1Pz31zcJbVI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OCnpWTyDXNnXlHTo1Pz31zcJbVI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/-YU4rLR8hbs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/1256609283993669222/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=1256609283993669222" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/1256609283993669222?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/1256609283993669222?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/-YU4rLR8hbs/xia-ka-luo-trail.html" title="新竹霞喀羅古道賞楓" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2012/01/xia-ka-luo-trail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cAQXo_cCp7ImA9WhRWF0o.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-8505426755964238542</id><published>2012-01-05T22:50:00.002+08:00</published><updated>2012-01-05T22:50:40.448+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T22:50:40.448+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>以php檢查ip網段</title><content type="html">隨者機器越來越多，將單一IP以字串方式檢測的方式，當網路臨時調整時、或者要檢測的IP數很多時，就有點麻煩了。使用判斷網段的方式，會比較有彈性。&lt;br /&gt;
&lt;br /&gt;
依照tcp/ip的邏輯，利用位元運算先做出了第一版&lt;br /&gt;
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt;&amp;nbsp;matchCIDR(&lt;/span&gt;&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$cidr&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;list(&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;explode&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="string"&gt;'/'&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$cidr&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;&amp;nbsp;=(32&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;((&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;)&amp;nbsp;==&amp;nbsp;(&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;想說，是否有更快、更好的的作法？在&lt;a href="http://php.net/manual/en/function.ip2long.php" title="PHP: ip2long - Manual"&gt;PHP: ip2long - Manual&lt;/a&gt;看到了兩個作法。一個作法，很有效率。另一個卻比較差。&lt;br /&gt;
&lt;br /&gt;
下面這個PHP程式碼，根據實際測試的結果，速度是最快的。不過…程式碼的可讀性比較差，需要想一下才能瞭解其邏輯。&lt;br /&gt;
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt;&amp;nbsp;netMatch(&lt;/span&gt;&lt;span class="vars"&gt;$IP&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$CIDR&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;list&amp;nbsp;(&lt;span class="vars"&gt;$net&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;explode&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="string"&gt;'/'&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$CIDR&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$IP&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;amp;&amp;nbsp;~((1&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;(32&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;))&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;)&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$net&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
這個寫法，可讀性最好（其實，這樣講也不太對）。但是有個極大的缺點，就是他是以字串的方式做比對，需要額外的使用sprintf()、substr_compare()。導致這樣的程式碼執行速度是三個中最慢的一個。且，在某些情況下，判斷結果有問題。&lt;br /&gt;
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt;&amp;nbsp;ip_in_network(&lt;/span&gt;&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$net_addr&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$net_mask&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt;&amp;nbsp;(&lt;/span&gt;&lt;span class="vars"&gt;$net_mask&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;lt;=&amp;nbsp;0)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;false;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$ip_binary_string&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;sprintf(&lt;/span&gt;&lt;span class="string"&gt;"%032b"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$net_binary_string&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;sprintf(&lt;/span&gt;&lt;span class="string"&gt;"%032b"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$net_addr&lt;/span&gt;&lt;span&gt;));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;(&lt;/span&gt;&lt;span class="func"&gt;substr_compare&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$ip_binary_string&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$net_binary_string&lt;/span&gt;&lt;span&gt;,&amp;nbsp;0,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$net_mask&lt;/span&gt;&lt;span&gt;)&amp;nbsp;===&amp;nbsp;0);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;為何會舉上面兩個例子？其實，在流量很大的系統中，任何的資源都是珍貴的，須錙銖必較。刻意比較這三個判斷方式，就是要表明這一點。&lt;br /&gt;
&lt;br /&gt;
下面，則是利用&lt;a href="http://pecl.php.net/package/vld" target="_blank" title="vld"&gt;vld&lt;/a&gt;所呈現的php opcode。藉由opcode來瞭解，為何這兩個作法效能上會有差異？有興趣瞭解者，不妨參考一下opcode、以及&lt;a title="PHP: Opcode list - Manual" href="http://php.net/manual/en/internals2.opcodes.list.php" target="_blank"&gt;PHP: Opcode list - Manual&lt;/a&gt;（如何安裝、使用vld？可以參考我之前的文章 - &lt;a href="http://kingfff.blogspot.com/2011/06/vldphpopcode.html" title="使用vld看php的opcode"&gt;如何使用vld看php的opcode&lt;/a&gt;）&lt;br /&gt;
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;&amp;lt;?php&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;//方法一，比較慢&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt;&amp;nbsp;matchCIDR(&lt;/span&gt;&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$cidr&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;list(&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;explode&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="string"&gt;'/'&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$cidr&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;&amp;nbsp;=(32&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;((&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;)&amp;nbsp;==&amp;nbsp;(&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$ip&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;//方法二，最快&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt;&amp;nbsp;netMatch(&lt;/span&gt;&lt;span class="vars"&gt;$IP&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$CIDR&lt;/span&gt;&lt;span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;list&amp;nbsp;(&lt;span class="vars"&gt;$net&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;explode&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="string"&gt;'/'&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$CIDR&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$IP&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;amp;&amp;nbsp;~((1&amp;nbsp;&amp;lt;&amp;lt;&amp;nbsp;(32&amp;nbsp;-&amp;nbsp;&lt;/span&gt;&lt;span class="vars"&gt;$mask&lt;/span&gt;&lt;span&gt;))&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;)&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span class="func"&gt;ip2long&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="vars"&gt;$net&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span&gt;}&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;
附註：以下資料，非&lt;a href="http://pecl.php.net/package/vld" target="_blank" title="vld"&gt;vld&lt;/a&gt;呈現的完整資訊。我僅列出重點。&lt;br /&gt;
&lt;div style="border: 1px dotted #5e8eab;"&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;function name&lt;span style='color:#808030; '&gt;:&lt;/span&gt;  matchCIDR
number of ops&lt;span style='color:#808030; '&gt;:&lt;/span&gt;  &lt;span style='color:#008c00; '&gt;21&lt;/span&gt;
compiled vars&lt;span style='color:#808030; '&gt;:&lt;/span&gt;  &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; $ip&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; $cidr&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; $mask
line     # &lt;span style='color:#808030; '&gt;*&lt;/span&gt;  op         fetch          ext  return  operands
&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;
   &lt;span style='color:#008c00; '&gt;3&lt;/span&gt;     &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;  &lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt;   RECV                                   &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;      RECV                                   &lt;span style='color:#008c00; '&gt;2&lt;/span&gt;
   &lt;span style='color:#008c00; '&gt;4&lt;/span&gt;     &lt;span style='color:#008c00; '&gt;2&lt;/span&gt;      SEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;VAL                               &lt;span style='color:#800000; '&gt;'&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;%2F&lt;/span&gt;&lt;span style='color:#800000; '&gt;'&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;3&lt;/span&gt;      SEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;VAR                               &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;4&lt;/span&gt;      DO&lt;span style='color:#808030; '&gt;_&lt;/span&gt;FCALL                    &lt;span style='color:#008c00; '&gt;2&lt;/span&gt;          &lt;span style='color:#800000; '&gt;'&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;explode&lt;/span&gt;&lt;span style='color:#800000; '&gt;'&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;5&lt;/span&gt;      FETCH&lt;span style='color:#808030; '&gt;_&lt;/span&gt;DIM&lt;span style='color:#808030; '&gt;_&lt;/span&gt;R                    $&lt;span style='color:#008c00; '&gt;1&lt;/span&gt;      $&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;6&lt;/span&gt;      ASSIGN                                 &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; $&lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;7&lt;/span&gt;      FETCH&lt;span style='color:#808030; '&gt;_&lt;/span&gt;DIM&lt;span style='color:#808030; '&gt;_&lt;/span&gt;R                    $&lt;span style='color:#008c00; '&gt;3&lt;/span&gt;      $&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;8&lt;/span&gt;      ASSIGN                                 &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; $&lt;span style='color:#008c00; '&gt;3&lt;/span&gt;
   &lt;span style='color:#008c00; '&gt;5&lt;/span&gt;     &lt;span style='color:#008c00; '&gt;9&lt;/span&gt;      SUB                            &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;5&lt;/span&gt;      &lt;span style='color:#008c00; '&gt;32&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;10&lt;/span&gt;      ASSIGN                                 &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;5&lt;/span&gt;
   &lt;span style='color:#008c00; '&gt;6&lt;/span&gt;    &lt;span style='color:#008c00; '&gt;11&lt;/span&gt;      SEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;VAR                               &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;12&lt;/span&gt;      DO&lt;span style='color:#808030; '&gt;_&lt;/span&gt;FCALL                    &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;          &lt;span style='color:#800000; '&gt;'&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;ip2long&lt;/span&gt;&lt;span style='color:#800000; '&gt;'&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;13&lt;/span&gt;      SR                             &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;8&lt;/span&gt;      $&lt;span style='color:#008c00; '&gt;7&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;14&lt;/span&gt;      SEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;VAR                               &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;15&lt;/span&gt;      DO&lt;span style='color:#808030; '&gt;_&lt;/span&gt;FCALL                    &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;          &lt;span style='color:#800000; '&gt;'&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;ip2long&lt;/span&gt;&lt;span style='color:#800000; '&gt;'&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;16&lt;/span&gt;      SR                             &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;10&lt;/span&gt;     $&lt;span style='color:#008c00; '&gt;9&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;17&lt;/span&gt;      IS&lt;span style='color:#808030; '&gt;_&lt;/span&gt;EQUAL                       &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;11&lt;/span&gt;     &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;8&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;10&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;18&lt;/span&gt;    &lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; RETURN                                 &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;11&lt;/span&gt;
   &lt;span style='color:#008c00; '&gt;7&lt;/span&gt;    &lt;span style='color:#008c00; '&gt;19&lt;/span&gt;&lt;span style='color:#808030; '&gt;*&lt;/span&gt;     RETURN                                  null
        &lt;span style='color:#008c00; '&gt;20&lt;/span&gt;&lt;span style='color:#808030; '&gt;*&lt;/span&gt;   &lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; ZEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;HANDLE&lt;span style='color:#808030; '&gt;_&lt;/span&gt;EXCEPTION


function name&lt;span style='color:#808030; '&gt;:&lt;/span&gt;  netMatch
number of ops&lt;span style='color:#808030; '&gt;:&lt;/span&gt;  &lt;span style='color:#008c00; '&gt;22&lt;/span&gt;
compiled vars&lt;span style='color:#808030; '&gt;:&lt;/span&gt;  &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; $IP&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; $CIDR&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; $net&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;3&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; $mask
line     # &lt;span style='color:#808030; '&gt;*&lt;/span&gt;  op         fetch          ext  return  operands
&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#808030; '&gt;-&lt;/span&gt;
  &lt;span style='color:#008c00; '&gt;10&lt;/span&gt;     &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;  &lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt;   RECV                                   &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;      RECV                                   &lt;span style='color:#008c00; '&gt;2&lt;/span&gt;
  &lt;span style='color:#008c00; '&gt;11&lt;/span&gt;     &lt;span style='color:#008c00; '&gt;2&lt;/span&gt;      SEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;VAL                               &lt;span style='color:#800000; '&gt;'&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;%2F&lt;/span&gt;&lt;span style='color:#800000; '&gt;'&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;3&lt;/span&gt;      SEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;VAR                               &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;4&lt;/span&gt;      DO&lt;span style='color:#808030; '&gt;_&lt;/span&gt;FCALL                    &lt;span style='color:#008c00; '&gt;2&lt;/span&gt;          &lt;span style='color:#800000; '&gt;'&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;explode&lt;/span&gt;&lt;span style='color:#800000; '&gt;'&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;5&lt;/span&gt;      FETCH&lt;span style='color:#808030; '&gt;_&lt;/span&gt;DIM&lt;span style='color:#808030; '&gt;_&lt;/span&gt;R                    $&lt;span style='color:#008c00; '&gt;1&lt;/span&gt;      $&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;6&lt;/span&gt;      ASSIGN                                 &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;3&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; $&lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;7&lt;/span&gt;      FETCH&lt;span style='color:#808030; '&gt;_&lt;/span&gt;DIM&lt;span style='color:#808030; '&gt;_&lt;/span&gt;R                    $&lt;span style='color:#008c00; '&gt;3&lt;/span&gt;      $&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;
         &lt;span style='color:#008c00; '&gt;8&lt;/span&gt;      ASSIGN                                 &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; $&lt;span style='color:#008c00; '&gt;3&lt;/span&gt;
  &lt;span style='color:#008c00; '&gt;12&lt;/span&gt;     &lt;span style='color:#008c00; '&gt;9&lt;/span&gt;      SEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;VAR                               &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;10&lt;/span&gt;      DO&lt;span style='color:#808030; '&gt;_&lt;/span&gt;FCALL                    &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;          &lt;span style='color:#800000; '&gt;'&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;ip2long&lt;/span&gt;&lt;span style='color:#800000; '&gt;'&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;11&lt;/span&gt;      SUB                            &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;6&lt;/span&gt;      &lt;span style='color:#008c00; '&gt;32&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;3&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;12&lt;/span&gt;      SL                             &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;7&lt;/span&gt;      &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;6&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;13&lt;/span&gt;      SUB                            &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;8&lt;/span&gt;      &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;7&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;14&lt;/span&gt;      BW&lt;span style='color:#808030; '&gt;_&lt;/span&gt;NOT                         &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;9&lt;/span&gt;      &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;8&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;15&lt;/span&gt;      BW&lt;span style='color:#808030; '&gt;_&lt;/span&gt;AND                         &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;10&lt;/span&gt;     $&lt;span style='color:#008c00; '&gt;5&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;9&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;16&lt;/span&gt;      SEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;VAR                               &lt;span style='color:#808030; '&gt;!&lt;/span&gt;&lt;span style='color:#008c00; '&gt;2&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;17&lt;/span&gt;      DO&lt;span style='color:#808030; '&gt;_&lt;/span&gt;FCALL                    &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;          &lt;span style='color:#800000; '&gt;'&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;ip2long&lt;/span&gt;&lt;span style='color:#800000; '&gt;'&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;18&lt;/span&gt;      IS&lt;span style='color:#808030; '&gt;_&lt;/span&gt;EQUAL                       &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;12&lt;/span&gt;     &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;10&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; $&lt;span style='color:#008c00; '&gt;11&lt;/span&gt;
        &lt;span style='color:#008c00; '&gt;19&lt;/span&gt;    &lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; RETURN                                 &lt;span style='color:#808030; '&gt;~&lt;/span&gt;&lt;span style='color:#008c00; '&gt;12&lt;/span&gt;
  &lt;span style='color:#008c00; '&gt;13&lt;/span&gt;    &lt;span style='color:#008c00; '&gt;20&lt;/span&gt;&lt;span style='color:#808030; '&gt;*&lt;/span&gt;     RETURN                                  null
        &lt;span style='color:#008c00; '&gt;21&lt;/span&gt;&lt;span style='color:#808030; '&gt;*&lt;/span&gt;   &lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; ZEND&lt;span style='color:#808030; '&gt;_&lt;/span&gt;HANDLE&lt;span style='color:#808030; '&gt;_&lt;/span&gt;EXCEPTION
&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-8505426755964238542?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UjVI-xvtKy3oqgkFJ9KSsTaNNho/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UjVI-xvtKy3oqgkFJ9KSsTaNNho/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UjVI-xvtKy3oqgkFJ9KSsTaNNho/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UjVI-xvtKy3oqgkFJ9KSsTaNNho/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/rt9Fr8sJeNw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/8505426755964238542/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=8505426755964238542" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/8505426755964238542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/8505426755964238542?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/rt9Fr8sJeNw/phpchecktcpipcidr.html" title="以php檢查ip網段" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2012/01/phpchecktcpipcidr.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQFQHs9fCp7ImA9WhRXFUs.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-2629080403569379106</id><published>2011-12-22T23:21:00.003+08:00</published><updated>2011-12-22T23:21:51.564+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-22T23:21:51.564+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>三峽雲森瀑布&amp;姊妹瀑布</title><content type="html">&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6537768683/" title="姊妹瀑布"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7145/6537768683_bab53598ed.jpg" alt="姊妹瀑布" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;三峽姊妹瀑布&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;今年盛夏時，曾經造訪過&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/08/blog-post.html" title="三峽雲森瀑布"&gt;三峽雲森瀑布&lt;/a&gt;。那時，曾注意到瀑布前方有棵楓樹。入秋後，每當天氣轉涼時就想去造訪，欣賞楓紅映者雲森瀑布。&lt;br /&gt;
&lt;br /&gt;
今年入秋後的天氣，可說是陰雨綿綿，天天都在下雨，讓人感覺都快發霉、生鏽了。看氣象預報，感覺雨勢在週末時可能趨緩，加上已經過了12月中旬，楓葉應該紅了。臨時決定再度去造訪雲森瀑布。&lt;br /&gt;
&lt;br /&gt;
夏天，三峽往滿月圓途中處處可見戲水的人潮…天氣轉涼後，戲水人潮不在。到雲森瀑布登山口，比上次的時間還晚，停在附近的車輛，卻只有兩三輛，不如上次已經快沒空地可停。&lt;br /&gt;
&lt;br /&gt;
近來天天都在下雨，原以為通往雲森瀑布的山徑應該會濕滑難走。出人意料的，只有部分路段潮濕。沿途，還可見到不少掉落在山徑上的楓紅。這樣，讓人非常期待雲森瀑布楓紅  :D &lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6530306757/" title="往雲森瀑布山徑"&gt;&lt;img width="332" height="500" src="http://farm8.staticflickr.com/7002/6530306757_970a04dfb5.jpg" alt="往雲森瀑布山徑" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;往雲森瀑布山徑&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6530307969/" title="往雲森瀑布山徑上的楓紅"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7153/6530307969_5fd5358240.jpg" alt="往雲森瀑布山徑上的楓紅" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;往雲森瀑布山徑上的楓紅&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6530308617/" title="往雲森瀑布山徑上的楓紅"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7025/6530308617_b4f42b69ca.jpg" alt="往雲森瀑布山徑上的楓紅" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;往雲森瀑布的山徑上，沿途可見楓紅落葉&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;抵達雲森瀑布下方的空地時，因為豐沛的水量，明顯聽到磅礡瀑布水聲。空地也因為水量上升而變小。由此往瀑布的山路，明顯的變為潮濕，特別是過了溪流後的石頭，非常濕滑，需要小心行走…&lt;br /&gt;
&lt;br /&gt;
沒想到，雲森瀑布前的楓葉居然沒紅…只見溪流中有零散的黃色、紅色落葉…&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6531348049/" title="雲森瀑布"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7151/6531348049_474d0f6d9c.jpg" alt="雲森瀑布" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;雲森瀑布，瀑布前的楓樹還沒紅&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
今年的天氣蠻奇怪的，九月天氣就變涼，之後卻沒有什麼寒流。已經12月中了，楓葉卻沒變紅。和旁邊其他的山友聊到此，聽他說他最近去的高山，楓紅狀況也不好...&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6531347309/" title="雲森瀑布"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7004/6531347309_016f782a01.jpg" alt="雲森瀑布" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;13度，可能是因為今年不夠冷，溫差不夠大，所以楓紅狀況不好吧&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6531344341/" title="雲森瀑布"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7021/6531344341_c494aed514.jpg" alt="雲森瀑布" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;雲森瀑布前的楓葉沒紅，只好找些楓紅落葉…  :(&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6537894403/" title="雲森瀑布"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7028/6537894403_7f334097bd.jpg" alt="雲森瀑布" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;雲森瀑布&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
離開雲森瀑布回到登山口時，看時間還早，決定去附近的姊妹瀑布。&lt;br /&gt;
&lt;br /&gt;
往姊妹瀑布的路，是由鐘聲山莊停車空地處往下走。這條路除了最後一段比較窄小，其他路店平緩好走。最後會抵達心靈谷。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6530244775/" title="岔路"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7002/6530244775_de1c8090b4.jpg" alt="岔路" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;岔路左上，往雲森瀑布。右下，往姊妹瀑布、及心靈峽谷&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6537762619/" title="通往姊妹瀑布的山徑"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7015/6537762619_a3f98ce20e.jpg" alt="通往姊妹瀑布的山徑" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;通往姊妹瀑布的山徑平坦好走&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
心靈谷其實為一塊很大的石頭，溪水由上面流過。他的盡頭也就是姊妹瀑布。欲往姊妹瀑布，需由旁邊的山路下切。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6537764079/" title="姊妹瀑布-心靈台"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7007/6537764079_d25fa98a13.jpg" alt="姊妹瀑布-心靈台" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;姊妹瀑布-心靈台溪水在此流經一塊超大石頭上&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
由於水量很大，姊妹瀑布附近空地變得很小，石頭也很滑。只能欣賞到左邊的瀑布，無法欣賞到姊妹瀑布的全貌。&lt;br /&gt;
&lt;br /&gt;
今天，連續在近距離拍兩個瀑布，應該吸收不少&lt;a target="_blank" href="http://www.forest.gov.tw/ct.asp?xItem=20957&amp;ctNode=232&amp;mp=1" title="最新鮮的空氣維他命～負離子"&gt;最新鮮的空氣維他命～負離子&lt;/a&gt; :)&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6537767307/" title="姊妹瀑布"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7146/6537767307_fb18e49c02.jpg" alt="姊妹瀑布" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;姊妹瀑布&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;三峽雲森瀑布、姊妹瀑布照片&lt;/h1&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/sets/72157628465752431/detail/" target="_blank" title="三峽雲森瀑布、姊妹瀑布"&gt;&lt;b&gt; 三峽雲森瀑布、姊妹瀑布 照片&lt;/b&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;三峽雲森瀑布、姊妹瀑布地圖、GPS航跡圖&lt;/h1&gt;似乎GPS訊號不太理想，本次記錄狀況不好&lt;br /&gt;
&lt;iframe width="100%" height="370" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E9%259B%25B2%25E6%25A3%25AE%25E7%2580%2591%25E5%25B8%2583-2011-12-18.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.408337,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x346808e8b57b1149:0xcde259054fa552a0,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=24.8394,121.459394&amp;amp;spn=0.01441,0.022488&amp;amp;z=15&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E9%259B%25B2%25E6%25A3%25AE%25E7%2580%2591%25E5%25B8%2583-2011-12-18.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.408337,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x346808e8b57b1149:0xcde259054fa552a0,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=24.8394,121.459394&amp;amp;spn=0.01441,0.022488&amp;amp;z=15" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-2629080403569379106?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/C5SqPr4QukyE7A3it46pBFf5y1Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C5SqPr4QukyE7A3it46pBFf5y1Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/C5SqPr4QukyE7A3it46pBFf5y1Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/C5SqPr4QukyE7A3it46pBFf5y1Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/GkYBEZa9nJQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/2629080403569379106/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=2629080403569379106" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2629080403569379106?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2629080403569379106?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/GkYBEZa9nJQ/sister-waterfall.html" title="三峽雲森瀑布&amp;姊妹瀑布" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/12/sister-waterfall.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QHSH4zcCp7ImA9WhRXEEQ.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-7809037723637866821</id><published>2011-12-17T13:22:00.001+08:00</published><updated>2011-12-17T13:22:19.088+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-17T13:22:19.088+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="百岳" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>石門山</title><content type="html">&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6518417391/" title="石門山山頂解說牌"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7029/6518417391_311bf33a19.jpg" alt="石門山山頂解說牌" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;石門山山頂眺望合歡北峰&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;秋天，台灣的高山容易有雲海。趁者小朋友學校活動補假，帶小朋友去台灣的高山走走，欣賞台灣高山的美、雲海、以及在市區無法呼吸到的清新空氣。計畫中，是希望能讓他們拿下石門山、合歡主峰兩座台灣百岳。&lt;br /&gt;
&lt;br /&gt;
通往合歡山途中會經過霧社。雖然霧社附近有萬大水庫等景點，但以前造訪霧社附近景點時，總覺得很少有人會特別在此停留。一般遊客都是直奔清境或合歡山。以霧社事件紀念公園來說，以前造訪時似乎都沒遇到其他遊客。去年，在合歡山花季時，走了一趟&lt;a href="http://kingfff.blogspot.com/2010/06/blog-post.html" title="合歡東峰、北峰賞高山杜鵑"&gt;合歡東峰、北峰賞高山杜鵑&lt;/a&gt;。再度經過霧社事件紀念公園時，路旁不見任何車輛停靠。&lt;br /&gt;
&lt;br /&gt;
今年就不同了，快到霧社前居然有點小塞車。直到過了霧社事件紀念公園後才恢復正常。原因，是因為霧社事件紀念公園附近路邊，停了不少車輛～&lt;br /&gt;
&lt;br /&gt;
國片市場日益熱絡，今年最熱門的國片之一賽德克巴萊，引起了不少話題。當我們經過霧社時可以明顯感受到。除了剛提到的小塞車外，周遭常可見到『賽德克巴萊』的字眼。這樣的場景不經讓我想起之前&lt;a href="http://kingfff.blogspot.com/2010/10/blog-post.html" title="南台灣單車行-由台東大武到屏東"&gt;由台東大武到屏東&lt;/a&gt;時，在恆春附近，處處可見『海角七號』的景象。&lt;br /&gt;
&lt;br /&gt;
當我們離開清境農場，在位於青青草原上方、南投境內最高的超商（2050公尺）補充完後，還是遇到不太理想的天氣。快抵達昆陽時終究還是遇到了濃霧。看看天氣狀況以及時間，最後決定放棄當天登合歡山主峰…&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
山上的雲霧變化快速，雖然往武嶺方向依舊是濃霧，山下方向的雲霧卻斷斷續續的散去。非常幸運的，還看到最喜歡的層層山巒、及山嵐。有段時間時間甚至可以看到位於薄薄霧氣中的埔里。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6436095833/" title="山巒@昆陽"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7142/6436095833_01115323f4.jpg" alt="山巒@昆陽" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;山巒@昆陽&lt;br /&gt;
根據身旁另一位住在埔里的同好所說，這裡應該是埔里&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6433558281/" title="山嵐"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7154/6433558281_d5b47c072e.jpg" alt="山嵐" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;山嵐&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
在濃霧中過了武嶺、到了合歡山莊、抵達松雪樓。只見通往松雪樓道路的柵欄是放下的。才知道，松雪樓不停供停車位。按下電鈴開啟柵欄，進去卸下行李後，還要將車停到合歡山莊前的停車場。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6441265813/" title="合歡山莊"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7016/6441265813_77fb800d71.jpg" alt="合歡山莊" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;濃霧中的合歡山莊&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
當初選擇住在松雪樓，因為他是台灣海拔最高的旅館。在陽台就可以欣賞台灣高山美景。不像以往，爬高山時都要走個幾公里到山屋。晚上要看風景，還要出了山屋吹冷風。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6498930179/" title="雲霧"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7174/6498930179_59b39619a3.jpg" alt="雲霧" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;早晨，在陽台欣賞雲霧&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
原本奢望的是，在松雪樓的陽台，抬頭看明亮的星星，低頭賞雲海。結果卻是遇到濃霧，只見一片白茫茫。雖然到了晚上真的有雲海，卻因為一片漆黑而無法欣賞… XD&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6441266175/" title="松雪樓"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7149/6441266175_36963ae48c.jpg" alt="松雪樓" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;台灣海拔最高的旅館-松雪樓&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
當天氣好時，住在松雪樓果然不錯。隔天，天氣好時，躺在床上就可以窗外的映者藍天白雲的合歡尖～拍照時，直接在陽台就可以拍 :) &lt;br /&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6455886125/" title="松雪樓"&gt;&lt;img width="332" height="500" src="http://farm8.staticflickr.com/7021/6455886125_b2bd1d0e82.jpg" alt="松雪樓" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;住在松雪樓的好處，就是出了陽台就可以欣賞風景。甚至躺在床上，就可以欣賞合歡尖&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
住在松雪樓缺點就是…當一個月前開放預定時，要半夜上網訂房。另外，因為海拔比較高，住在此需要注意評估是否會有高山症。不過，一樓醫療間有提供氧氣。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6455886521/" title="松雪樓"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7151/6455886521_f36b8fe0de.jpg" alt="松雪樓" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;松雪樓這個房間不錯，同時擁有兩個方向的景觀&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
松雪樓的餐廳雖然有提供餐飲，不過…供應的餐點會依照時間而有不同。如去年&lt;a href="http://kingfff.blogspot.com/2010/06/blog-post.html" title="合歡東峰、北峰賞高山杜鵑"&gt;合歡東峰、北峰賞高山杜鵑&lt;/a&gt;時所吃的拉麵，晚餐就不供應（真可惜）。且，晚餐的餐點價格也比較貴。自備糧食，可能會是比較好的選擇吧！&lt;br /&gt;
&lt;br /&gt;
石門山登山口離合歡山莊不遠，附近還有一個小空地可以停車。由登山口開始到石門山三角點距離不到一公里。沿途平坦好走，高度落差不到一百公尺（請見下方高度表）。小朋友慢慢走…大約花了半小時登頂，拿下人生中第一座百岳。所以說，石門山是最容易親近的百岳，應該是不為過！ :)&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6498929759/" title="石門山登山口"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7155/6498929759_4dfca70345.jpg" alt="石門山登山口" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;藍天、白雲、一望無際的山巒、好空氣…&lt;br /&gt;
真是令人身心舒暢～&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6455990427/" title="石門山"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7156/6455990427_6e18447e01.jpg" alt="石門山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;石門山石門山就在路旁，是座非常容易親近的百岳～&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6455991613/" title="石門山"&gt;&lt;img width="332" height="500" src="http://farm8.staticflickr.com/7029/6455991613_e2418de415.jpg" alt="石門山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;石門山&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
站在石門山山頂，可以眺望合歡北峰（附近有個反光板）、中央尖、南湖大山、奇萊山、合歡東峰、合歡尖、合歡主峰。&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6460050225/" title="石門山全景照"&gt;&lt;img width="500" height="110" src="http://farm8.staticflickr.com/7008/6460050225_984f48109f.jpg" alt="石門山全景照" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;石門山全景照&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6460050487/" title="石門山全景照"&gt;&lt;img width="500" height="110" src="http://farm8.staticflickr.com/7022/6460050487_67aa751465.jpg" alt="石門山全景照" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;石門山全景照&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
之前來石門山、或周遭的合歡群峰，每次天氣都不好，都遇到大霧。這次，終於可以欣賞藍天白雲的合歡群峰。不過，由於此時已經是冬季，所以沿途不見之前所欣賞到的高山花朵，總覺得缺少了什麼…&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6498928781/" title="DSC_2797"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7153/6498928781_d0b6194a54.jpg" alt="DSC_2797" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;站在高山上，伴隨藍天白雲、眺望遠方。令人心曠神怡～&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6455995211/" title="石門山"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7145/6455995211_769848b528.jpg" alt="石門山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;石門山山頂&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h1 class="c_head"&gt;石門山照片&lt;/h1&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/sets/72157628272588523/detail/" target="_blank" title="草石門山"&gt;&lt;b&gt; 石門山 照片&lt;/b&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;石門山高度表&lt;/h1&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-WQnzmT3DZA0/TudmNOzLTnI/AAAAAAAAB3Q/zOgK3G1Huro/s1600/%25E7%259F%25B3%25E9%2596%2580%25E5%25B1%25B1%25EF%25BC%258D2011-11-28_height.png" imageanchor="1" style="" title="石門山高度表"&gt;&lt;img border="0" height="222" width="400" src="http://1.bp.blogspot.com/-WQnzmT3DZA0/TudmNOzLTnI/AAAAAAAAB3Q/zOgK3G1Huro/s400/%25E7%259F%25B3%25E9%2596%2580%25E5%25B1%25B1%25EF%25BC%258D2011-11-28_height.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h1 class="c_head"&gt;石門山地圖、GPS航跡圖&lt;/h1&gt;&lt;iframe width="100%" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E7%259F%25B3%25E9%2596%2580%25E5%25B1%25B1%25EF%25BC%258D2011-11-28.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.26761,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x3468f17737e00f3b:0x3da7fd2aebb404e7,0,0x346917dff97922ef:0x87523ee47ea6447f&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=24.15016,121.28181&amp;amp;spn=0.015664,0.025749&amp;amp;z=15&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E7%259F%25B3%25E9%2596%2580%25E5%25B1%25B1%25EF%25BC%258D2011-11-28.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.26761,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x3468f17737e00f3b:0x3da7fd2aebb404e7,0,0x346917dff97922ef:0x87523ee47ea6447f&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=24.15016,121.28181&amp;amp;spn=0.015664,0.025749&amp;amp;z=15" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-7809037723637866821?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VlVJcJnL6S7C2fjGM6i-Mt1UkiY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VlVJcJnL6S7C2fjGM6i-Mt1UkiY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VlVJcJnL6S7C2fjGM6i-Mt1UkiY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VlVJcJnL6S7C2fjGM6i-Mt1UkiY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/2z6Z2Y8EQmg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/7809037723637866821/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=7809037723637866821" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/7809037723637866821?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/7809037723637866821?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/2z6Z2Y8EQmg/shihmen-mnt.html" title="石門山" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-WQnzmT3DZA0/TudmNOzLTnI/AAAAAAAAB3Q/zOgK3G1Huro/s72-c/%25E7%259F%25B3%25E9%2596%2580%25E5%25B1%25B1%25EF%25BC%258D2011-11-28_height.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/12/shihmen-mnt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8FSH4_fip7ImA9WhRQGEk.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-4338221280961388415</id><published>2011-12-14T14:15:00.003+08:00</published><updated>2011-12-14T14:40:19.046+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T14:40:19.046+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>stomp failover作法</title><content type="html">failover，在實務上的應用很重要。&lt;a target="_blank" href="http://activemq.apache.org/failover-transport-reference.html" title="Apache ActiveMQ &amp;trade; -- Failover Transport Reference"&gt;Apache ActiveMQ Failover Transport Reference&lt;/a&gt;中有說明。關於stomp failover作法，程式很簡單如下…詳細說明請見&lt;a target="_blank" href="http://stomp.fusesource.org/documentation/php/book.html#Failover" title="stomp failover"&gt;stomp文件-Failover&lt;/a&gt;。&lt;br /&gt;
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="vars"&gt;$link&lt;/span&gt;&lt;span&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="keyword"&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;Stomp(&lt;/span&gt;&lt;span class="string"&gt;"failover://(tcp://192.168.1.1:61613,tcp://192.168.1.2,:61613)?randomize=false"&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;上述php code，我以&lt;a target="_blank" title="pecl-stomp" href="http://pecl.php.net/package/stomp"&gt;pecl-stomp&lt;/a&gt;測試，卻會出現如下錯誤訊息&lt;br /&gt;
&lt;div class="myprogcode"&gt;StompException , Invalid Broker URI scheme&lt;/div&gt;&lt;br /&gt;
參考&lt;a target="_blank" href="http://activemq.apache.org/failover-transport-reference.html" title="Apache ActiveMQ &amp;trade; -- Failover Transport Reference"&gt;Apache ActiveMQ &amp;trade; -- Failover Transport Reference&lt;/a&gt;的Configuration Syntax，改用其他的URI寫法，依舊會有錯誤…&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
最後去看&lt;a target="_blank" title="pecl-stomp" href="http://pecl.php.net/package/stomp"&gt;pecl-stomp&lt;/a&gt;的source，才發現…&lt;a target="_blank" title="pecl-stomp" href="http://pecl.php.net/package/stomp"&gt;pecl-stomp&lt;/a&gt;只允許tcp &amp; ssl 。不允許以failover為首的URI。 :(&lt;br /&gt;
&lt;br /&gt;
既然官方網站有提到failover機制和demo code，想必應該有此功能。下載&lt;a target="_blank" href="http://stomp.fusesource.org/download.html" title="Download PHP Stomp Client 1.0.0"&gt;官方 stomp client 1.0.0&lt;/a&gt;測試。果然，這版本有支援failover。&lt;br /&gt;
&lt;br /&gt;
在使用&lt;a target="_blank" href="http://stomp.fusesource.org/download.html" title="Download PHP Stomp Client 1.0.0"&gt;官方 stomp client 1.0.0&lt;/a&gt;時，有件事情需注意。如果機器上已經有安裝&lt;a target="_blank" title="pecl-stomp" href="http://pecl.php.net/package/stomp"&gt;pecl-stomp&lt;/a&gt;，需要先disable，否則在執行時會出現錯誤 - Cannot redeclare class StompFrame。&lt;br /&gt;
&lt;br /&gt;
&lt;a target="_blank" href="http://stomp.fusesource.org/download.html" title="Download PHP Stomp Client 1.0.0"&gt;官方 stomp client 1.0.0&lt;/a&gt;有些參數可以調整。如timeout、retry次數等。有需要者可以視自己需要修改Stomp.php內的參數。&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;參考資料&lt;/h1&gt;&lt;ol&gt;&lt;li&gt;&lt;a target="_blank" href="http://stomp.github.com//stomp-specification-1.1.html#Changes_in_the_Protocol" title="stomp 1.1"&gt;stomp 1.1和stomp 1.0的差異&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ActiveMQ參考書籍-&lt;a target="_blank" href="http://www.books.com.tw/exep/prod/booksfile.php?item=F011773582" title="ActiveMQ in Action"&gt;ActiveMQ in Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/11/php-stomp-activemq.html" title="php使用stomp操作ActiveMQ"&gt;php使用stomp操作ActiveMQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/12/stomp-prefetchsizeack-header.html" title="stomp進階說明-prefetchSize、ack header"&gt;stomp進階說明-prefetchSize、ack header&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/12/stomp-failover.html" title="stomp failover作法"&gt;stomp failover作法&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-4338221280961388415?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g_odvcvYPUNZ1jfBUPYsxNDGlV0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g_odvcvYPUNZ1jfBUPYsxNDGlV0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g_odvcvYPUNZ1jfBUPYsxNDGlV0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g_odvcvYPUNZ1jfBUPYsxNDGlV0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/AJtcxggSehM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/4338221280961388415/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=4338221280961388415" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/4338221280961388415?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/4338221280961388415?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/AJtcxggSehM/stomp-failover.html" title="stomp failover作法" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/12/stomp-failover.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4ESHs_fSp7ImA9WhRQGEk.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-978678568706722643</id><published>2011-12-13T15:30:00.001+08:00</published><updated>2011-12-14T14:41:49.545+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T14:41:49.545+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>stomp進階說明-prefetchSize、ack header</title><content type="html">上次在&lt;a href="http://kingfff.blogspot.com/2011/11/php-stomp-activemq.html" title="php使用stomp操作ActiveMQ"&gt;php使用stomp操作ActiveMQ&lt;/a&gt;提到，PHP採用預設值去連ActiveMQ，處理速度異常緩慢。解決之道，可以藉由更改activemq.prefetchSize的值而得到改善。不過…改變activemq.prefetchSize會不會有什麼問題？或影響？&lt;br /&gt;
&lt;br /&gt;
首先，需要先提到redelivery這個名詞。可以先參考官方文件&lt;a href="http://activemq.apache.org/message-redelivery-and-dlq-handling.html" title=" Message Redelivery and DLQ Handling"&gt; Message Redelivery and DLQ Handling&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
在不修改預設值的情況下，當PHP（customer）使用STOMP和ActiveMQ取得一筆message後，該message id就會被標為redelivery（Redelivered=TRUE）。直到customer回覆ack（acknowledge）後，該message會轉成Messages Dequeued。如果customer沒有回覆ack呢？customer將會無法取得下一筆message…PHP（customer）就卡在哪了…&lt;br /&gt;
&lt;br /&gt;
當我們修改activemq.prefetchSize後，會改變上述的行為模式。做個實驗…&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
假設，我們設定activemq.prefetchSize=100。此時，customer會由ActiveMQ一次取得100筆message回來。ActiveMQ會將這100筆message的redelivery改成true，其他的customer無法取得這100筆messgae。（除非，最後沒有其他message可以取得，才會讓其他customer取得。）&lt;br /&gt;
&lt;br /&gt;
當customer在處理這100筆message時，故意都不做ack，唯獨第90筆message才做ack（也就是說，其他99筆資料都不做ack）。此時會發生什麼狀況？&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;1-90筆message都視同做了ack。&lt;/li&gt;
&lt;li&gt;91-100筆message的redelivery狀況會被改成true。&lt;/li&gt;
&lt;li&gt;customer會再度去要下90筆message，以湊足activemq.prefetchSize所設定的容量。&lt;/li&gt;
&lt;li&gt;最後，依舊卡住&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
這樣的行為模式，就有幾件事要注意了。首先，如果要處理的資料是有順序性（queue的特性 - FIFO）時，適不適合採用多個customer？另外，當處理時真的有問題不能ack時，又該如何？畢竟，沒ack，會卡住的！&lt;br /&gt;
&lt;br /&gt;
後者的問題在JAVA中不存在。因為可以使用&lt;a href="http://docs.oracle.com/cd/E17802_01/products/products/jms/javadoc-102a/javax/jms/Session.html#recover%28%29" title="jms-Session-recover"&gt;recover()&lt;/a&gt;，最後將某筆message丟到DLQ（Dead Letter Queue）（詳細請參閱&lt;a href="http://activemq.apache.org/subscription-recovery-policy.html" title="Subscription Recovery Policy"&gt;Subscription Recovery Policy&lt;/a&gt;）。&lt;br /&gt;
&lt;br /&gt;
在STOMP 1.0中無此類功能。需要思考個配套作法。到了STOMP 1.1的規格中，已經新增&lt;a href="http://stomp.github.com//stomp-specification-1.1.html#NACK" title="stomp nack"&gt;NACK&lt;/a&gt;指令，可將message放到DLQ。&lt;br /&gt;
&lt;br /&gt;
上述提到關於ack的行為（回覆一個ack，之前的message也視同做了ack）是否能改變呢？先看STOMP 1.0中下面這段話&lt;br /&gt;
&lt;div class="myprogcode"&gt;Any messages received on the subscription will henceforth be delivered as MESSAGE frames from the server to the client. The ack header is optional, and defaults to auto.&lt;br /&gt;
&lt;br /&gt;
In this case the ack header is set to client which means that messages will only be considered delivered after the client specifically acknowledges them with an ACK frame. The valid values for ack are auto (the default if the header is not included) and client.&lt;/div&gt;附註：雖然STOMP 1.0規格說預設是auto，但實際測試&lt;a href="http://pecl.php.net/package/stomp" title="pecl-stomp"&gt;pecl-stomp&lt;/a&gt;結果，預設卻是client。&lt;br /&gt;
&lt;br /&gt;
STOMP 1.0中提到ack header可以設定為auto、client來改變行為模式。到了STOMP 1.1，增加了client-individual。想要瞭解auto、client、client-individual的處理模式，請參考關於在STOMP 1.1中&lt;a href="http://stomp.github.com//stomp-specification-1.1.html#SUBSCRIBE_ack_Header" title="stomp 1.1 SUBSCRIBE_ack_Header"&gt;SUBSCRIBE_ack_Header&lt;/a&gt;中的說明。&lt;br /&gt;
&lt;br /&gt;
另外，根據實際測試的結果。只出現在STOMP 1.1規格中的第三個設定值-client-individual居然可以用。設定方式，如同更改activemq.prefetchSize。範例如下…&lt;br /&gt;
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="vars"&gt;$stomp&lt;/span&gt;&lt;span&gt;-&amp;gt;subscribe(&lt;/span&gt;&lt;span class="vars"&gt;$amq&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span class="string"&gt;'queue'&lt;/span&gt;&lt;span&gt;],&amp;nbsp;&lt;/span&gt;&lt;span class="keyword"&gt;array&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class="string"&gt;"ack"&lt;/span&gt;&lt;span&gt;=&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span class="string"&gt;"client-individual"&lt;/span&gt;&lt;span&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="string"&gt;"activemq.prefetchSize"&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;=&amp;gt;1));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;
最後還是要提醒一下，要先知道自己如何使用ActiveMQ，先規劃好再決定如何設定。如上所述prefetchSiz、ack header等等的參數，不同的參數設定，會影響ActiveMQ的處理模式！&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;參考資料&lt;/h1&gt;&lt;ol&gt;&lt;li&gt;&lt;div id="__ss_4683229" style="width: 425px;"&gt;&lt;b style="display: block; margin: 12px 0 4px;"&gt;&lt;a target="_blank" href="http://www.slideshare.net/dejanb/apache-activemq-enterprise-messaging-in-action" target="_blank" title="Apache ActiveMQ - Enterprise messaging in action"&gt;Apache ActiveMQ - Enterprise messaging in action&lt;/a&gt;&lt;/b&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/4683229" width="425"&gt;&lt;/iframe&gt; &lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a target="_blank" href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a target="_blank" href="http://www.slideshare.net/dejanb" target="_blank"&gt;dejanb&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://www.books.com.tw/exep/prod/booksfile.php?item=F011773582" title="ActiveMQ in Action"&gt;ActiveMQ in Action&lt;/a&gt;所提到不同consumer的預設值&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Queue consumer default prefetch size = 1000&lt;/li&gt;
&lt;li&gt;Queue browser consumer default prefetch size = 500&lt;/li&gt;
&lt;li&gt;Persistent topic consumer default prefetch size = 100&lt;/li&gt;
&lt;li&gt;Nonpersistent topic consumer default prefetch size = 32766&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://stomp.github.com//stomp-specification-1.1.html#Changes_in_the_Protocol" title="stomp 1.1"&gt;stomp 1.1和stomp 1.0的差異&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ActiveMQ參考書籍-&lt;a target="_blank" href="http://www.books.com.tw/exep/prod/booksfile.php?item=F011773582" title="ActiveMQ in Action"&gt;ActiveMQ in Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/11/php-stomp-activemq.html" title="php使用stomp操作ActiveMQ"&gt;php使用stomp操作ActiveMQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/12/stomp-prefetchsizeack-header.html" title="stomp進階說明-prefetchSize、ack header"&gt;stomp進階說明-prefetchSize、ack header&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/12/stomp-failover.html" title="stomp failover作法"&gt;stomp failover作法&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-978678568706722643?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/T-74GjbLX9GTpSjrS3CZ56Buv8s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T-74GjbLX9GTpSjrS3CZ56Buv8s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/T-74GjbLX9GTpSjrS3CZ56Buv8s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/T-74GjbLX9GTpSjrS3CZ56Buv8s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/GQKW8zeGqyw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/978678568706722643/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=978678568706722643" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/978678568706722643?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/978678568706722643?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/GQKW8zeGqyw/stomp-prefetchsizeack-header.html" title="stomp進階說明-prefetchSize、ack header" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/12/stomp-prefetchsizeack-header.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QMQ349eCp7ImA9WhRQEks.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-5322906502414436355</id><published>2011-12-07T22:49:00.001+08:00</published><updated>2011-12-07T22:49:42.060+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-07T22:49:42.060+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>草嶺古道-芒花拾穗</title><content type="html">&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6452265543/" title="草嶺古道-芒花拾穗"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7008/6452265543_d258b234a7.jpg" alt="草嶺古道-芒花拾穗" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;很喜歡今年東北角草嶺古道活動的logo - 芒花拾穗&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;每年到了芒花的季節，東北角國家風景區都會在草嶺古道舉辦芒花的相關活動。前兩年都因為預定造訪時，遇到不好的天氣而作罷。原以為今年也是一樣會遇到不好的天氣…沒想到，週末天氣忽然轉變為乾冷，於是順利成行。&lt;br /&gt;
&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6452099561/" title="草嶺古道"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7172/6452099561_6ec10f649f.jpg" alt="草嶺古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;連續的陰雨天，溪水水量都變的豐沛&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
這次的行程和以往有點不同。以往都是直接穿越福隆火車站後方的小山，到遠望坑公園。今年因為盛大舉行，由福隆遊客中心所開的&lt;a  target="_blank" href="http://www.necoast-nsa.gov.tw/user/Article.aspx?Lang=1&amp;SNo=04004335" title="「芒花季」十歲衝人次，祭出接駁巴士「免費」東北角12/3起、邀遊客破紀錄"&gt;接駁公車改為免費&lt;/a&gt;。於是就搭順風車～（由大里遊客中心回福隆的接駁公車，也變成免費）&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
原以為這樣應該可以省下不少路程，其實不然。因為接駁公車是停在比較外面的道路，而非停在遠望坑公園。由下車處到遠望坑公園這段是平坦的產業道路，還是比比往年直接穿越的路好走很多。&lt;br /&gt;
&lt;br /&gt;
乾冷的天氣。整條路線一點都不濕滑，走起來蠻舒服的。接近虎字碑時，風勢果然變強，令人不經把外套穿起來防風。過了啞口後，風勢變小，走在冬陽下還有點熱～  :)&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6452102783/" title="草嶺古道"&gt;&lt;img height="332" width="500" src="http://farm8.staticflickr.com/7007/6452102783_573b8056c6.jpg" alt="草嶺古道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;草嶺古道接近啞口時，風勢明顯變強…&lt;br /&gt;
所以…虎字無用？ :P&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6452211707/" title="草嶺古道-啞口"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7171/6452211707_13ba60ecbf.jpg" alt="草嶺古道-啞口" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;草嶺古道-啞口上，欣賞灑下來的陽光…&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
走完全程後，當然要去大里遊客中心換紀念品。今年，是東北角舉辦草嶺古道活動十週年，所送的紀念品質感還不錯～還沒去造訪的人，趕緊把握活動最後的時間去戶外走走吧 :)&lt;br /&gt;
&lt;br /&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6452135241/" title="草嶺古道-芒花拾穗"&gt;&lt;img width="332" height="500" src="http://farm8.staticflickr.com/7023/6452135241_6512496d4a.jpg" alt="草嶺古道-芒花拾穗" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;草嶺古道-芒花拾穗今年的紀念品。質感不錯～&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
今年草嶺古道的芒花花況並不好，其實…一週前走台七線中橫宜蘭支線，行經蘭陽溪時也沒見到溪谷中應有的芒。不知道和最近的陰雨綿綿是否有關？ :(&lt;br /&gt;
&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6452102355/" title="草嶺古道-雄鎮蠻煙摩碣"&gt;&lt;img height="332" width="500" src="http://farm8.staticflickr.com/7146/6452102355_5d4cc99209.jpg" alt="草嶺古道-雄鎮蠻煙摩碣" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;雄鎮蠻煙摩碣 -「雄」旁其卯星，「鎮」迫龍更抱心胸，「蠻」氣霏霏龍吸雨，「煙」兌亨亨虎吞風&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6452101899/" title="草嶺古道-牛群"&gt;&lt;img width="500" height="332" src="http://farm8.staticflickr.com/7150/6452101899_ee61bbee33.jpg" alt="草嶺古道-牛群" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;走這麼多次草嶺古道，第一次遇到牛群&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;hr&gt;&lt;h1 class="c_head"&gt;相關介紹&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;a target="_blank" href="http://events.necoast-nsa.gov.tw/flower11/index.html"&gt;2011東北角草嶺古道芒花季 - 芒花拾穗&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://www.necoast-nsa.gov.tw/user/Article.aspx?Lang=1&amp;amp;SNo=04000486"&gt;東北角草嶺古道介紹&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://www.necoast-nsa.gov.tw/user/Article.aspx?Lang=1&amp;SNo=04004335" title="「芒花季」十歲衝人次，祭出接駁巴士「免費」東北角12/3起、邀遊客破紀錄"&gt;「芒花季」十歲衝人次，祭出接駁巴士「免費」&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;h1 class="c_head"&gt;草嶺古道-芒花拾穗照片&lt;/h1&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/sets/72157628272588523/detail/" target="_blank" title="草嶺古道-芒花拾穗"&gt;&lt;b&gt;草嶺古道-芒花拾穗照片&lt;/b&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;草嶺古道高度表&lt;/h1&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Z_fNQIiSXow/Tt4ojtcYacI/AAAAAAAAB3E/VMoS93QHOus/s1600/%25E8%258D%2589%25E5%25B6%25BA%25E5%258F%25A4%25E9%2581%2593_height%25EF%25BC%258D2011-12-03.png" imageanchor="1" style=""&gt;&lt;img border="0" height="222" width="400" src="http://3.bp.blogspot.com/-Z_fNQIiSXow/Tt4ojtcYacI/AAAAAAAAB3E/VMoS93QHOus/s400/%25E8%258D%2589%25E5%25B6%25BA%25E5%258F%25A4%25E9%2581%2593_height%25EF%25BC%258D2011-12-03.png" title="草嶺古道高度表"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h1 class="c_head"&gt;草嶺古道地圖、GPS航跡圖&lt;/h1&gt;&lt;iframe width="500" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E8%258D%2589%25E5%25B6%25BA%25E5%258F%25A4%25E9%2581%2593%25EF%25BC%258D2011-12-03.kml&amp;amp;aq=&amp;amp;sll=25.046257,121.582919&amp;amp;sspn=0.026827,0.034933&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x345d5ce8e584c6dd:0x9103200a1e847910,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=24.991815,121.926098&amp;amp;spn=0.062235,0.085831&amp;amp;z=13&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E8%258D%2589%25E5%25B6%25BA%25E5%258F%25A4%25E9%2581%2593%25EF%25BC%258D2011-12-03.kml&amp;amp;aq=&amp;amp;sll=25.046257,121.582919&amp;amp;sspn=0.026827,0.034933&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x345d5ce8e584c6dd:0x9103200a1e847910,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=24.991815,121.926098&amp;amp;spn=0.062235,0.085831&amp;amp;z=13" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-5322906502414436355?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vz2pV81V5knI7DeVW34-uHEOQHc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vz2pV81V5knI7DeVW34-uHEOQHc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vz2pV81V5knI7DeVW34-uHEOQHc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vz2pV81V5knI7DeVW34-uHEOQHc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/wIO4ePjnmIE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/5322906502414436355/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=5322906502414436355" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/5322906502414436355?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/5322906502414436355?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/wIO4ePjnmIE/blog-post.html" title="草嶺古道-芒花拾穗" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-Z_fNQIiSXow/Tt4ojtcYacI/AAAAAAAAB3E/VMoS93QHOus/s72-c/%25E8%258D%2589%25E5%25B6%25BA%25E5%258F%25A4%25E9%2581%2593_height%25EF%25BC%258D2011-12-03.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/12/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YCSX46eip7ImA9WhRREU8.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-2339587863428000436</id><published>2011-11-24T18:05:00.001+08:00</published><updated>2011-11-24T18:06:08.012+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-24T18:06:08.012+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="電腦雜項" /><title>使用putty自動登入並執行遠端主機的程式或指令</title><content type="html">有人不想自己輸入帳號、密碼登入、也不想下指令。想要簡簡單單的click滑鼠，就能ssh到遠方的伺服器，並執行特定指令。&lt;br /&gt;
&lt;br /&gt;
查了一下&lt;a href="_balnk" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" title="putty"&gt;putty&lt;/a&gt;的文件，在&lt;a href="_balnk" href="http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter3.html#using-cmdline"&gt;Using PuTTY - The PuTTY command line&lt;/a&gt;有符合這樣需求的詳盡指令的說明。&lt;br /&gt;
&lt;br /&gt;
想要執行的指令，逐一寫在script.txt內（檔案位於本機）。由於帳號的寫法有兩種，所以下面也提供兩個範例…&lt;br /&gt;
&lt;div class="myprogcode"&gt;&lt;pre style='color:#000000;'&gt;putty &lt;span style='color:#808030; '&gt;-&lt;/span&gt;ssh &lt;span style='color:#008c00; '&gt;127&lt;/span&gt;.&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;.&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;.&lt;span style='color:#008c00; '&gt;1&lt;/span&gt; &lt;span style='color:#808030; '&gt;-&lt;/span&gt;l &lt;span style='color:#800000; font-weight:bold; '&gt;user&lt;/span&gt; &lt;span style='color:#808030; '&gt;-&lt;/span&gt;pw password &lt;span style='color:#808030; '&gt;-&lt;/span&gt;m script.txt
putty &lt;span style='color:#808030; '&gt;-&lt;/span&gt;ssh &lt;span style='color:#800000; font-weight:bold; '&gt;user&lt;/span&gt;&lt;span style='color:#808030; '&gt;@&lt;/span&gt;&lt;span style='color:#008c00; '&gt;127&lt;/span&gt;.&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;.&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;.&lt;span style='color:#008c00; '&gt;1&lt;/span&gt; &lt;span style='color:#808030; '&gt;-&lt;/span&gt;pw password &lt;span style='color:#808030; '&gt;-&lt;/span&gt;m script.txt&lt;/pre&gt;&lt;/div&gt;附註：指令執行完畢，&lt;a href="_balnk" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" title="putty"&gt;putty&lt;/a&gt;視窗會自動關閉&lt;br /&gt;
&lt;br /&gt;
利用上述command line的指令，已經可以連到遠方主機，並執行script.txt內的指令。不過，要做到滑鼠click即可執行，還差個步驟…&lt;a name='more'&gt;&lt;/a&gt;此時，馬上聯想使用附檔名bat、或cmd來處理。&lt;br /&gt;
&lt;br /&gt;
沒想到，無論是bat、cmd，雖然可以呼叫出&lt;a href="_balnk" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/" title="putty"&gt;putty&lt;/a&gt;，卻會出現如下Access denied的訊息…等待我輸入密碼…&lt;br /&gt;
&lt;div class="myprogcode"&gt;Using username "user".&lt;br /&gt;
Access denied&lt;br /&gt;
Using keyboard-interactive authentication.&lt;br /&gt;
Password:&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
嘗試很多做法，依舊停在該訊息，無法達到自動登入…只好再仔細看文件，發現…文中提到，要用捷徑（Windows shortcut）。原文如下…&lt;br /&gt;
&lt;div class="myprogcode"&gt;PuTTY can be made to do various things without user intervention by supplying command-line arguments (e.g., from a command prompt window, or a &lt;b&gt;Windows shortcut&lt;/b&gt;).&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
雖然，這樣可以簡簡單單的click滑鼠並在遠方伺服器執行想執行的指令…不過……帳號、密碼也就暴露在此了… :P&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-2339587863428000436?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/31CwfYrZKuUGLD7V__zdsGRL6A0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/31CwfYrZKuUGLD7V__zdsGRL6A0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/31CwfYrZKuUGLD7V__zdsGRL6A0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/31CwfYrZKuUGLD7V__zdsGRL6A0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/jPB1hNrOcw0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/2339587863428000436/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=2339587863428000436" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2339587863428000436?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2339587863428000436?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/jPB1hNrOcw0/putty-login-execute-ssh-batch.html" title="使用putty自動登入並執行遠端主機的程式或指令" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/11/putty-login-execute-ssh-batch.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkANRXw5eip7ImA9WhRQGEk.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-8168944273555024959</id><published>2011-11-19T09:56:00.001+08:00</published><updated>2011-12-14T14:39:54.222+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T14:39:54.222+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>php使用stomp操作ActiveMQ</title><content type="html">最近終於可以抽了點時間試一下php和&lt;a target="_blank" href="http://activemq.apache.org/" title="ActiveMQ"&gt;ActiveMQ&lt;/a&gt;這樣的組合。遇到了些狀況，在大家解決這些狀況的過程中，挖到更多的相關資訊。所以，做個記錄…&lt;br /&gt;
&lt;br /&gt;
這次的測試，覺得ActiveMQ和JAVA比較親，其他的語言大部分須要靠STOMP（全名為Simple (or Streaming) Text Orientated Messaging Protocol。）然而，有些功能在STOMP上並沒有實做、或者處理方式不太相同。&lt;br /&gt;
&lt;br /&gt;
既然是php和&lt;a target="_blank" href="http://activemq.apache.org/" title="ActiveMQ"&gt;ActiveMQ&lt;/a&gt;的組合，就必須先瞭解一下STOMP。寫這記錄時，一般使用的STOMP都是&lt;a target="_blank" href="http://stomp.github.com/stomp-specification-1.0.html" title="Stomp Protocol Specification, Version 1.0"&gt;STOMP 1.0&lt;/a&gt;。以php所提供的extension stomp pecl來說，它文件中雖然沒提到所採用的版本，但以它目前最新的版本-Release 1.0.3來說，是在2010所出。當時還沒出&lt;a target="_blank" href="http://stomp.github.com/stomp-specification-1.1.html" title="STOMP Protocol Specification, Version 1.1"&gt;STOMP Protocol Specification, Version 1.1&lt;/a&gt;（官網提到1.1 Released on 2011/3/31）。推算時間，應該是採用&lt;a target="_blank" href="http://stomp.github.com/stomp-specification-1.0.html" title="Stomp Protocol Specification, Version 1.0"&gt;STOMP 1.0&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
寫這記錄時，官網文件 - &lt;a target="_blank" href="http://stomp.github.com/implementations.html" title="stomp Implementations"&gt;stomp Implementations&lt;/a&gt;提到，目前支援&lt;a target="_blank" href="http://stomp.github.com/stomp-specification-1.1.html" title="STOMP Protocol Specification, Version 1.1"&gt;STOMP 1.1&lt;/a&gt;的僅&lt;a target="_blank" href="http://activemq.apache.org/apollo/" title="Apache Apollo "&gt;Apache Apollo&lt;/a&gt;。文件中是對&lt;a target="_blank" href="http://activemq.apache.org/apollo/" title="Apache Apollo "&gt;Apache Apollo&lt;/a&gt;的描述如下…感覺上對STOMP的支援程度似乎比較好？&lt;br /&gt;
&lt;br /&gt;
&lt;div class="myprogcode"&gt;Apache Apollo a redesigned version of ActiveMQ focused on STOMP messaging.&lt;/div&gt;&lt;br /&gt;
在&lt;a target="_blank" href="http://activemq.apache.org/apollo/" title="Apache Apollo "&gt;Apache Apollo&lt;/a&gt;官網上，是如此描述自身產品&lt;br /&gt;
&lt;div class="myprogcode"&gt;ActiveMQ Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ. It accomplishes this using a radically different threading and message dispatching architecture.&lt;/div&gt;至今，居然只有支援STOMP。之後才會加上其他的protocol。感覺…&lt;a target="_blank" href="http://activemq.apache.org/apollo/" title="Apache Apollo "&gt;Apache Apollo&lt;/a&gt;似乎沒有獨厚JAVA…不過，沒實際測過，就不下結論…&lt;br /&gt;
&lt;br /&gt;
php如何使用stomp操作ActiveMQ？&lt;a name='more'&gt;&lt;/a&gt;其實很簡單，大概就是下面的程式碼（範例為Procedural style，另有Object oriented style）。不過，使用ActiveMQ的重點在於…要明確知道自己要如何使用ActiveMQ，再決定程式的運作邏輯以及相關的參數設定。&lt;br /&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span class="comment"&gt;//send&amp;nbsp;a&amp;nbsp;message&amp;nbsp;to&amp;nbsp;the&amp;nbsp;queue&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&amp;nbsp;sendMQ(&lt;span class="vars"&gt;$data&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$link&lt;/span&gt;&amp;nbsp;=&amp;nbsp;openMQ();&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;foreach&lt;/span&gt;&amp;nbsp;(&lt;span class="vars"&gt;$data&lt;/span&gt;&amp;nbsp;&lt;span class="keyword"&gt;as&lt;/span&gt;&amp;nbsp;&lt;span class="vars"&gt;$pitem&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;//使用&amp;nbsp;persistent&amp;nbsp;message&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$result&lt;/span&gt;&amp;nbsp;=&amp;nbsp;stomp_send(&lt;span class="vars"&gt;$link&lt;/span&gt;,&amp;nbsp;&lt;span class="vars"&gt;$amq&lt;/span&gt;[&lt;span class="string"&gt;'queue'&lt;/span&gt;],&amp;nbsp;&lt;span class="vars"&gt;$pitem&lt;/span&gt;,&amp;nbsp;&lt;span class="keyword"&gt;array&lt;/span&gt;(&lt;span class="string"&gt;"persistent"&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;span class="string"&gt;"true"&lt;/span&gt;));&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;if&lt;/span&gt;&amp;nbsp;(FALSE&amp;nbsp;===&amp;nbsp;&lt;span class="vars"&gt;$result&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;//do&amp;nbsp;something&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="comment"&gt;//receive&amp;nbsp;message&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&amp;nbsp;receiveMQ()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$link&lt;/span&gt;&amp;nbsp;=&amp;nbsp;openMQ(&lt;span class="vars"&gt;$queue&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stomp_subscribe(&lt;span class="vars"&gt;$link&lt;/span&gt;,&amp;nbsp;&lt;span class="vars"&gt;$queue&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;while&lt;/span&gt;&amp;nbsp;(1)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;if&lt;/span&gt;&amp;nbsp;(TRUE&amp;nbsp;===&amp;nbsp;stomp_has_frame(&lt;span class="vars"&gt;$link&lt;/span&gt;))&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$frame&lt;/span&gt;&amp;nbsp;=&amp;nbsp;stomp_read_frame(&lt;span class="vars"&gt;$link&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;if&lt;/span&gt;&amp;nbsp;(FALSE&amp;nbsp;!==&amp;nbsp;&lt;span class="vars"&gt;$frame&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stomp_ack(&lt;span class="vars"&gt;$link&lt;/span&gt;,&amp;nbsp;&lt;span class="vars"&gt;$frame&lt;/span&gt;[&lt;span class="string"&gt;'headers'&lt;/span&gt;][&lt;span class="string"&gt;'message-id'&lt;/span&gt;]);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="keyword"&gt;else&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;//do&amp;nbsp;something&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;break&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="keyword"&gt;else&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;break&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stomp_unsubscribe(&lt;span class="vars"&gt;$link&lt;/span&gt;,&amp;nbsp;&lt;span class="vars"&gt;$queue&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stomp_close(&lt;span class="vars"&gt;$link&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="comment"&gt;//connection&amp;nbsp;ActiveMQ&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&amp;nbsp;openMQ(&amp;amp;&lt;span class="vars"&gt;$queue&lt;/span&gt;=FALSE)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$amq&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="keyword"&gt;array&lt;/span&gt;(&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'url'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;span class="string"&gt;'tcp://127.0.0.1:61613'&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'id'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;span class="string"&gt;'xxx'&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'pswd'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;span class="string"&gt;'xxx'&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'queue'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;span class="string"&gt;'/queue/mytest'&lt;/span&gt;,&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'enable'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;TRUE&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="vars"&gt;$link&lt;/span&gt;&amp;nbsp;=&amp;nbsp;stomp_connect(&lt;span class="vars"&gt;$amq&lt;/span&gt;[&lt;span class="string"&gt;'url'&lt;/span&gt;],&amp;nbsp;&lt;span class="vars"&gt;$amq&lt;/span&gt;[&lt;span class="string"&gt;'id'&lt;/span&gt;],&amp;nbsp;&lt;span class="vars"&gt;$amq&lt;/span&gt;[&lt;span class="string"&gt;'pswd'&lt;/span&gt;]);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;if&lt;/span&gt;&amp;nbsp;(!&lt;span class="vars"&gt;$link&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;die&lt;/span&gt;(&lt;span class="string"&gt;"Can't&amp;nbsp;connect&amp;nbsp;MQ&amp;nbsp;!!"&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span class="keyword"&gt;else&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="vars"&gt;$link&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;附註：&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;上面範例是採用Persistent&lt;/li&gt;
&lt;li&gt;雖然producer設定為persistent，但如果ActiveMQ的設定不對，還是可能會遺失資料&lt;/li&gt;
&lt;/ol&gt;照上面的php code，producer塞15000筆資料到ActiveMQ，每筆資料的內容是strng(12)。測試的VM主機，處理時間大約都在1.5~2.5 sec內。&lt;br /&gt;
&lt;br /&gt;
但是customer在取得資料時，處理速度異常的緩慢…和JAVA所寫的customer處理速度相比，只能說慢到令人無法接受。嘗試使用fork()方式用multi process，同時間用20個process處理。處理速度雖然有增快，卻依舊很慢…&lt;br /&gt;
&lt;br /&gt;
雖然，預期中速度可能會『比較』慢。但慢成這樣的速度根本無法採用。查了一下ActiveMQ文件，終於在&lt;a target="_blank" href="http://activemq.apache.org/stomp.html" title="ActiveMQ extensions to Stomp"&gt;ActiveMQ extensions to Stomp&lt;/a&gt;這篇文章中找到了解決方案。於SUBSCRIBE設定activemq.prefetchSize。設定方式如下…&lt;br /&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;stomp_subscribe(&lt;span class="vars"&gt;$link&lt;/span&gt;,&amp;nbsp;&lt;span class="vars"&gt;$queue&lt;/span&gt;,&amp;nbsp;&lt;span class="keyword"&gt;array&lt;/span&gt;(&lt;span class="string"&gt;"activemq.prefetchSize"&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;1000));&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;什麼是prefetchSize？文中是這樣說明的…&lt;br /&gt;
&lt;div class="myprogcode"&gt;Specifies the maximum number of pending messages that will be dispatched to the client. Once this maximum is reached no more messages are dispatched until the client acknowledges a message. Set to 1 for very fair distribution of messages across consumers where processing messages can be slow. &lt;/div&gt;&lt;br /&gt;
這樣的解釋，一時之間不太明瞭真正的含意。由已經深入研究ActiveMQ的同事解說後，才能瞭解（有興趣的人可以參考書籍-&lt;a target="_blank" href="http://www.books.com.tw/exep/prod/booksfile.php?item=F011773582" title="ActiveMQ in Action"&gt;ActiveMQ in Action&lt;/a&gt;，內有詳細說明。或參考下面slide於P34 PreFetch limit的內容），卻也引發我其他的疑問，特別是-acknowledges（下篇再述）&lt;br /&gt;
&lt;br /&gt;
將prefetchSize設定和JAVA相同的預設值1000後，使用php所寫的customer，處理速度和JAVA相比，『感覺上』已經不分軒輊。其實，prefetchSize由1改為2時，customer的處理速度就改善幾十倍&lt;br /&gt;
&lt;br /&gt;
最後提一下在實務使用上會使用的設定-failover。我們可以指定一台以上的ActiveMQ操作。除此，也可能會需要設定timeout時間。詳細的設定值與說明，可參考&lt;a href="http://activemq.apache.org/failover-transport-reference.html" title="Apache ActiveMQ - Failover Transport Reference"&gt;Apache ActiveMQ &amp;trade; -- Failover Transport Reference&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;參考資料&lt;/h1&gt;&lt;ol&gt;&lt;li&gt;&lt;div id="__ss_4683229" style="width: 425px;"&gt;&lt;b style="display: block; margin: 12px 0 4px;"&gt;&lt;a target="_blank" href="http://www.slideshare.net/dejanb/apache-activemq-enterprise-messaging-in-action" target="_blank" title="Apache ActiveMQ - Enterprise messaging in action"&gt;Apache ActiveMQ - Enterprise messaging in action&lt;/a&gt;&lt;/b&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/4683229" width="425"&gt;&lt;/iframe&gt; &lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;View more &lt;a target="_blank" href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a target="_blank" href="http://www.slideshare.net/dejanb" target="_blank"&gt;dejanb&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://www.books.com.tw/exep/prod/booksfile.php?item=F011773582" title="ActiveMQ in Action"&gt;ActiveMQ in Action&lt;/a&gt;所提到不同consumer的預設值&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Queue consumer default prefetch size = 1000&lt;/li&gt;
&lt;li&gt;Queue browser consumer default prefetch size = 500&lt;/li&gt;
&lt;li&gt;Persistent topic consumer default prefetch size = 100&lt;/li&gt;
&lt;li&gt;Nonpersistent topic consumer default prefetch size = 32766&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://stomp.github.com//stomp-specification-1.1.html#Changes_in_the_Protocol" title="stomp 1.1"&gt;stomp 1.1和stomp 1.0的差異&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ActiveMQ參考書籍-&lt;a target="_blank" href="http://www.books.com.tw/exep/prod/booksfile.php?item=F011773582" title="ActiveMQ in Action"&gt;ActiveMQ in Action&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/11/php-stomp-activemq.html" title="php使用stomp操作ActiveMQ"&gt;php使用stomp操作ActiveMQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/12/stomp-prefetchsizeack-header.html" title="stomp進階說明-prefetchSize、ack header"&gt;stomp進階說明-prefetchSize、ack header&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/12/stomp-failover.html" title="stomp failover作法"&gt;stomp failover作法&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-8168944273555024959?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O9qXjDdEFSErUZVK-TKBLX8bblk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O9qXjDdEFSErUZVK-TKBLX8bblk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O9qXjDdEFSErUZVK-TKBLX8bblk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O9qXjDdEFSErUZVK-TKBLX8bblk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/j8dSUxs89T0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/8168944273555024959/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=8168944273555024959" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/8168944273555024959?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/8168944273555024959?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/j8dSUxs89T0/php-stomp-activemq.html" title="php使用stomp操作ActiveMQ" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/11/php-stomp-activemq.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8CRHY7fip7ImA9WhRTGU4.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-4230687444660680464</id><published>2011-11-10T22:54:00.001+08:00</published><updated>2011-11-10T22:54:25.806+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-10T22:54:25.806+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>無耳茶壺山、半平山、燦光寮山</title><content type="html">&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316815900/" title="金瓜石全景"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6043/6316815900_d293fb8af6.jpg" alt="無耳茶壺山洞口欣賞金瓜石全景" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;於無耳茶壺山洞口欣賞金瓜石全景&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;無耳茶壺山、半平山、燦光寮山這三個位於金瓜石的山頭一直很想去，這次終於一次走完。且，在老天的眷顧下，整個行程都在晴朗的好天氣下…&lt;/p&gt;

&lt;p&gt;為何對這三個山頭有興趣？無耳茶壺山，算是金瓜石著名地標。他獨特的造型，只要人在金瓜石，很難不注意到他。且，由不同角度欣賞會有不同感受，有的角度像茶壺、有的角度像獅子。因此，無耳茶壺山又名獅子岩。&lt;/p&gt;
&lt;p&gt;半平山（似乎又名半屏山），則是在走&lt;a target="_blank" href="http://kingfff.blogspot.com/2009/05/blog-post.html" title="南子吝山"&gt;南子吝山&lt;/a&gt;時，注意到他那彷彿高山般的氣勢。燦光寮山？則是因為他擁有一顆一等三角點，仗者這一等三角點，山頂的展望一定不錯。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317739427/" title="燦光寮山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6233/6317739427_5e0de511d3.jpg" alt="燦光寮山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;攝於燦光寮山山頂&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;當然，還是有令人失望的一等三角點，如位於&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/05/blog-post.html" title="樹林的大棟山"&gt;樹林的大棟山&lt;/a&gt;。他山頂的地形，以及周遭樹木的高度會阻擋視野。因此展望並不好…  :(&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;p&gt;這次的行程，先搭乘火車到瑞芳火車站。於車站外轉搭公車上金瓜石，在黃金博物館下車。由瑞芳火車站到金瓜石的公車很多，一會就搭到&lt;a target="_blank" href="http://www.taiwantrip.com.tw/" title="台灣好行"&gt;台灣好行&lt;/a&gt;中&lt;a target="_blank" href="http://www.taiwantrip.com.tw/Besttour/Info/?id=32" title="新北市黃金福隆線"&gt;新北市黃金福隆線&lt;/a&gt;，車上人很少，很快的就到達黃金博物館。不過，坐火車時，卻是一路站到瑞芳。一早的火車車班居然非常的擁擠，由每個人的穿著來看，感覺應該不少人是要去走秋季最熱門的路線--草嶺古道吧！&lt;/p&gt;

&lt;p&gt;一早的黃金博物館，蠻冷清的，卻已經有講者廣東話的遊客。由門口一直往裡面走，過了黃金博物館後，越過橋。在橋的那頭有個鐵門，鐵門後往上的階梯，就是通往無耳茶壺山的路。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316160275/" title="雞籠山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6118/6316160275_453e840a34.jpg" alt="雞籠山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;個人覺得，由黃金博物館欣賞雞籠山的角度最差&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;由黃金博物館看無耳茶壺山，有種很遙遠的感覺。其實，走起來覺得還蠻快的。特別是接到產業道路，過了朝寶亭後，開始可以看到海景。下方的陰陽海、報時山棧道一覽無遺。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316735344/" title="陰陽海"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6233/6316735344_1ccf37f935.jpg" alt="陰陽海、報時山棧道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;陰陽海、報時山棧道&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;一邊欣賞美景、一邊行進，高度慢慢地爬升。過了無耳茶壺山、半平山登山步道登山口後，高度已經可以看到&lt;a target="_blank" href="http://kingfff.blogspot.com/2009/05/blog-post.html" title="南子吝山"&gt;南子吝山&lt;/a&gt;、鼻頭角。接者，會依序經過陰陽海觀景台、寶獅亭、就到了無耳茶壺山。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316814428/" title="南子吝山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6239/6316814428_73ee736944.jpg" alt="南子吝山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;南子吝山&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;不過，我們就在無耳茶壺山塞車了。既然塞車，就好好欣賞九份、金瓜石美景。個人覺得，九份地標之一的雞籠山在無耳茶壺山、半平山、燦光寮山這條稜線上看去的角度最漂亮。由九份、及&lt;a target="_blank" href="http://kingfff.blogspot.com/2009/05/blog-post.html" title="南子吝山"&gt;南子吝山&lt;/a&gt;看去，是三角錐狀，也蠻有特色的。最醜的角度，則在黃金博物館前。
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316816208/" title="無耳茶壺山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6213/6316816208_1e0b4a544c.jpg" alt="無耳茶壺山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;要進入茶壺內了，大塞車...&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316863758/" title="無耳茶壺山"&gt;&lt;img width="332" height="500" src="http://farm7.static.flickr.com/6059/6316863758_02a6402cb8.jpg" alt="無耳茶壺山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;無耳茶壺山洞口&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;這一塞車，就花去不少時間。塞車的原因在於要通往半平山，必須穿越無耳茶壺山的山洞，也就是說我們要進入茶壺內。&lt;/p&gt;
&lt;p&gt;進去的洞口不大，需要稍微調整身形、茶壺內的空間也不寬敞。但…出去的洞口更小。我必須先將我的D90和背上的背包放到洞口外，並喬好角度，人才出的去～&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316864018/" title="無耳茶壺山山洞內"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6053/6316864018_60fe87bed9.jpg" alt="無耳茶壺山山洞內" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;無耳茶壺山山洞內&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;出了洞口，只見對面高聳的半平山，有一條不明顯的小徑通往對面的山峰。另外…原以為出了洞口，可以走的比較順。沒想到，風勢變強，地形轉為陡下…所以還是塞車…&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316651029/" title="通往半平山的山徑"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6044/6316651029_3c323ed6ce.jpg" alt="通往半平山的山徑" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;通往半平山的山徑，對面高聳處則是要翻過的石壁&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;不知道是不是因為秋冬改吹東北季風？由無耳茶壺山到半平山間的稜線，風勢非常的強，猶如颱風般。離開芒草草叢時，有時需要半蹲行走，以降低重心。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317171920/" title="無耳茶壺山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6056/6317171920_8a73d45cd6.jpg" alt="無耳茶壺山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;無耳茶壺山&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317173064/" title="強風"&gt;&lt;img width="332" height="500" src="http://farm7.static.flickr.com/6092/6317173064_b700439383.jpg" alt="強風" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;強風越往半平山風勢越強，只要離開芒草堆後，都要降低重心，採半蹲的姿勢前進…&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;翻過通往半平山的石壁後，風勢更強，加上到半平山山頂間的稜線變的更狹小，只好把D90收進背包，抓緊繩子、專心走稜線。&lt;/p&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317173994/" title="通往半平山的石壁"&gt;&lt;img width="332" height="500" src="http://farm7.static.flickr.com/6223/6317173994_55038f8faa.jpg" alt="通往半平山的石壁" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;通往半平山的石壁過了這石壁就翻到山的另一頭&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316761173/" title="上半平山的稜線"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6053/6316761173_1fe9c8b536.jpg" alt="上半平山的稜線" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;上半平山的稜線&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;在半平山山頂，風勢依舊強勁，大家都是坐在地上…唯獨我為了照相而站者。不過，根本沒法好好拍照。強風一陣陣吹來，人都跟者一起晃，最後是靠在解說牌上才得以照出不會糊的照片…&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316758773/" title="半平山山頂"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6032/6316758773_0fbca8c36e.jpg" alt="半平山山頂" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;半平山山頂這個水泥三角錐體，不知有何用途&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317280126/" title="半平山山頂上遠眺101"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6120/6317280126_da791c5e63.jpg" alt="半平山山頂上遠眺101" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;半平山山頂上遠眺，可辨識出台北的明顯地標&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317279832/" title="半平山山頂"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6019/6317279832_efdac1a78a.jpg" alt="半平山山頂" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;半平山山頂風勢非常強…最後是靠在解說牌上才能照相…&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;過了半平山山頂，轉為下坡。路也比剛剛無耳茶壺山到半平山間好走，沒有那麼濕滑、風勢比較弱。有些路段，有被整理為木頭階梯和扶手。整體來說，半平山到到草山產業道路間比較好走。不過，view就沒剛剛那麼精彩～&lt;/p&gt;
&lt;div style="width:295px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316761625/" title="路"&gt;&lt;img width="281" height="500" src="http://farm7.static.flickr.com/6116/6316761625_80b8ef0d58.jpg" alt="路" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;路這段路稍微好走些&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;到了草山產業道路，有些山友就以此為終點，走平坦的草山產業道路回金瓜石。我們則轉往基隆火山群第一高峰、擁有一等三角點的燦光寮山。&lt;/p&gt;

&lt;p&gt;燦光寮山在此的登山口不明顯，路旁的地圖沒有標示，也沒有路標。怎麼去燦光寮山登山口？簡單的講，由半平山下到草山產業道路後，往左走。約30公尺可看見一條蠻明顯往上的山徑（請看文末的GPS軌跡地圖）。一開始，我們也是找錯方向。後來是用&lt;a target="_blank" href="http://www.oruxmaps.com" title="oruxmap"&gt;oruxmap&lt;/a&gt;這套免費的GPS軟體，配合前所行蒐集的軌跡才找到燦光寮山登山口。&lt;/p&gt;

&lt;p&gt;燦光寮山的視野真的是一級棒，果真是一等三角點。360度的視野，由北順時鐘來講，七星山、小觀音山、金山、野柳、基隆港、八斗子、基隆山、基隆嶼、剛走過的無耳茶壺山、半平山、鼻頭角、草山、三貂角、福隆、貢寮核四廠、102縣道、五分山、台北市區內的台北101、遠企、新光三越，都盡入眼簾（隱約也看到觀音山）。其實，更遠處還可以看到雪山山脈一帶。只是那邊的光線不理想，無法清楚的辨識。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6316810511/" title="燦光寮山山頂全景"&gt;&lt;img width="500" height="110" src="http://farm7.static.flickr.com/6115/6316810511_88e1801e03.jpg" alt="燦光寮山山頂全景" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;燦光寮山山頂全景最遠可以看到金山一代&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317330056/" title="燦光寮山山頂全景"&gt;&lt;img width="500" height="110" src="http://farm7.static.flickr.com/6212/6317330056_af29165d11.jpg" alt="燦光寮山山頂全景" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;燦光寮山山頂全景最遠可以看到三貂角&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6318259380/" title="燦光寮山眺望三貂角"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6223/6318259380_5da00b6abb.jpg" alt="燦光寮山眺望三貂角" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;燦光寮山眺望三貂角清晰可見三貂角雷達站&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;雖然燦光寮山的視野很好，不過…似乎造訪的人不多。因為山徑不太明顯，特別是由山頂往燦光寮古道這段。這段路線，我們是下山，有段路線還走錯，直到路況變的很糟，也無法行進行時，再度使用&lt;a target="_blank" href="http://www.oruxmaps.com" title="oruxmap"&gt;oruxmap&lt;/a&gt;，確定走偏了。然而，這段的路況卻耗費我們不少的體力…&lt;/p&gt;

&lt;p&gt;其實，在我們走錯的岔路口有綁登山條，如果我們是上山，就不會走錯。但是對於下山的我們來說，登山條的位置剛好讓我們誤會，因為兩個登山條剛好綁在錯誤路線口的兩側。另外，錯誤的路，在岔路時看起來卻是明顯的山路，正確的路卻完全隱沒在芒草中。當時也注意到有人在正確的路上用塑膠袋綁在芒草上，卻因為上述原因，讓我以為是警告通往芒草的路是錯誤的  XD&lt;/p&gt;

&lt;p&gt;回到燦光寮山登山口，也終於離開芒草，不用在芒草堆中撥草行走了。沒多久也接回草山產業道路，之後的路都是平坦、或好走的階梯。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317739931/" title="芒草"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6042/6317739931_744f0e99ce.jpg" alt="芒草" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;終於到草山產業道路登山口，不用在芒草中穿梭了&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6318260942/" title="廢墟"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6050/6318260942_08af15df85.jpg" alt="廢墟" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;廢墟位於燦光寮山於草山產業道路登山口附近的廢墟&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;回黃金博物館途中，可以看到稍早所走的無耳茶壺山步道、半平山這條稜線。值得一提的是，這段路線看無耳茶壺山的角度，最有茶壺的感覺！另外，由於已經是下午，此時光線的角度，才可以欣賞到雞籠山綿綿山脈的感覺～&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6318417206/" title="無耳茶壺山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6057/6318417206_6e08ced6fc.jpg" alt="無耳茶壺山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;無耳茶壺山這角度，最像茶壺
卻也有點像犀牛～&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6317896711/" title="雞籠山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6119/6317896711_ccdc951976.jpg" alt="雞籠山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;雞籠山此時陽光的角度，讓雞籠山有了綿綿山谷的感覺&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;回到黃金博物館門口，非常幸運的馬上就搭到&lt;a target="_blank" href="http://yoyonet.biz/egoing/bus/freeway/kilon/1062.htm" title="基隆客運1062"&gt;基隆客運1062&lt;/a&gt;，直接由金瓜石坐回台北。&lt;/p&gt;

&lt;br /&gt;&lt;hr&gt;
&lt;h1 class="c_head"&gt;相關介紹&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2009/05/blog-post.html" title="南子吝山"&gt;南子吝山&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://www.taiwantrip.com.tw/" title="台灣好行"&gt;台灣好行網站&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/05/blog-post.html" title="樹林青龍嶺、大棟山、千年大榕樹、鶯歌石 "&gt;樹林青龍嶺、大棟山、千年大榕樹、鶯歌石 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2009/05/blog-post_17.html" title="雞籠山"&gt;九份雞籠山&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 class="c_head"&gt;無耳茶壺山、半平山、燦光寮山照片&lt;/h1&gt;
&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/sets/72157627885537833/detail/" target="_blank" title="無耳茶壺山、半平山、燦光寮山照片"&gt;&lt;b&gt;無耳茶壺山、半平山、燦光寮山照片&lt;/b&gt;&lt;/a&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;h1 class="c_head"&gt;無耳茶壺山、半平山、燦光寮山高度表&lt;/h1&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a target="_blank" href="http://3.bp.blogspot.com/-fZ9M5_gW0x0/Traio-anlpI/AAAAAAAAB24/dcZPWbTdR9E/s1600/%25E7%2587%25A6%25E5%2585%2589%25E5%25AF%25AE%25E5%25B1%25B1%25E4%25B8%25802011-11-05.png" imageanchor="1" style=""&gt;&lt;img border="0" height="222" width="400" src="http://3.bp.blogspot.com/-fZ9M5_gW0x0/Traio-anlpI/AAAAAAAAB24/dcZPWbTdR9E/s400/%25E7%2587%25A6%25E5%2585%2589%25E5%25AF%25AE%25E5%25B1%25B1%25E4%25B8%25802011-11-05.png" alt="無耳茶壺山、半平山、燦光寮山高度表"/&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h1 class="c_head"&gt;無耳茶壺山、半平山、燦光寮山地圖、GPS航跡圖&lt;/h1&gt;
&lt;iframe width="100%" height="480" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E7%2587%25A6%25E5%2585%2589%25E5%25AF%25AE%25E5%25B1%25B1%25E4%25B8%25802011-11-05.kml&amp;amp;aq=&amp;amp;sll=25.00607,122.000502&amp;amp;sspn=0.008576,0.016512&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x345d4cdf85f98b05:0x682a7dd59a1398fa,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=25.100989,121.862755&amp;amp;spn=0.018654,0.023603&amp;amp;z=15&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a target="_blank" href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E7%2587%25A6%25E5%2585%2589%25E5%25AF%25AE%25E5%25B1%25B1%25E4%25B8%25802011-11-05.kml&amp;amp;aq=&amp;amp;sll=25.00607,122.000502&amp;amp;sspn=0.008576,0.016512&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x345d4cdf85f98b05:0x682a7dd59a1398fa,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=25.100989,121.862755&amp;amp;spn=0.018654,0.023603&amp;amp;z=15" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-4230687444660680464?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LW15c9K3qXsCZFlnP5F_3lqwM-s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LW15c9K3qXsCZFlnP5F_3lqwM-s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LW15c9K3qXsCZFlnP5F_3lqwM-s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LW15c9K3qXsCZFlnP5F_3lqwM-s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/Avn3QDzOB44" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/4230687444660680464/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=4230687444660680464" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/4230687444660680464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/4230687444660680464?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/Avn3QDzOB44/teapot-banpingmountainhikingtrail.html" title="無耳茶壺山、半平山、燦光寮山" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm7.static.flickr.com/6043/6316815900_d293fb8af6_t.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/11/teapot-banpingmountainhikingtrail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8BQXg-cCp7ImA9WhRTFEw.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-2694236545457812145</id><published>2011-11-04T21:19:00.003+08:00</published><updated>2011-11-04T21:20:50.658+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-04T21:20:50.658+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>樹林大同山</title><content type="html">&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6294619026/" title="樹林大同山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6051/6294619026_c795ee3440.jpg" alt="樹林大同山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;在樹林大同山區俯瞰台北&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;最近眼睛很痠…趁者週末假日天氣轉晴時，就想去爬山…讓自己站在山頂上，眺望者四方，讓每天盯者螢幕的眼睛能好好地放鬆一下。&lt;/p&gt;
&lt;p&gt;週六，先走了一趟位於台北盆地東方的南港山系，最後在九五峰折返。站在九五峰上的那塊大石，俯瞰台北、眺望遠方，眼睛果然就覺舒服多了～可惜的是，當時天氣不夠好，隱約能看到觀音山，卻無法遠眺林口那一端。&lt;/p&gt;
&lt;p&gt;在台北東區能看到海？不是不可能，只要在天氣好、空氣佳時，爬上九五峰，就可以看到淡水河出海口～&lt;/p&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/37472309/" title="九五峰上俯瞰台北101"&gt;&lt;img width="500" height="332" src="http://farm1.static.flickr.com/30/37472309_5dadc26a94_d.jpg" alt="樹林大同山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;2005年強烈颱風海棠來襲前所拍&lt;br/&gt;仔細看，可見漁人碼頭那座斜張橋&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;隔天週日，天氣陰晴不定，拿不定主意是否要出門。最後，還是想趁者天氣不差去走走、流流汗。走位於台北盆地西方的樹林大同山區。&lt;/p&gt;
&lt;p&gt;這次選擇的路線，由樹林多福步道北側登山口上山，到山頂上的涼亭欣賞風景，下山則走產業道路，由樹林軍人公墓附近下山。山頂上的涼亭，和昨日才走的九五峰，剛好遙遙相對。&lt;/p&gt;
&lt;p&gt;昨天在九五峰上看不到上到樹林、林口一帶。今天上到稜線上的涼亭時，台北101方向剛好被一大片雲遮掩。雖然如此，雲層以外的天空卻異常的藍。跟山下仰望天空時，只見灰蒙的雲層可說是天壤之別。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6294093111/" title="樹林大同山"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6051/6294093111_e0fece641a.jpg" alt="樹林大同山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;剛到山頂時，不見台北101&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6294094423/" title="樹林大同山"&gt;&lt;img width="332" height="500" src="http://farm7.static.flickr.com/6213/6294094423_54ecfc5088.jpg" alt="樹林大同山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;樹林大同山在山下時，只覺得天氣陰晴不定…&lt;br/&gt;
到達山頂，抬頭仰望，卻是藍天白雲～&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;樹林大同山區雖然位於台北盆地的西方，一般人可能以為在此處頂多就是看整個台北盆地。其實，在天氣狀況非常、非常好的情況下，在此，是可以由此看到位於東北角九份附近的基隆山。相對的，天氣好時也可以在基隆山頂上看到台北101（請見之前在&lt;a target="_blank" href="http://kingfff.blogspot.com/2009/05/blog-post_17.html" title="九份基隆山"&gt;九份基隆山&lt;/a&gt;的紀錄）&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/3535263860/" title="樹林大同山"&gt;&lt;img width="500" height="375" src="http://farm3.static.flickr.com/2209/3535263860_aa907b134a.jpg" alt="樹林大同山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;在台北101左後方，突起尖尖的山頭，就是位於九份附近的基隆山&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;樹林大同山區也是看台北夜景的熱門景點之一。有多熱門？青龍嶺的腹地不算小，曾經有次在上面拍夜景時，居然已經快沒腳架站立的位置了。&lt;/p&gt;
&lt;p&gt;不過，個人覺得大同山區的日出比夜景好看。因為大同山區面對東方，運氣好時，可以看到漂亮的日出，或者更奇特的景色～近一年來，在青龍嶺旁新建了一個觀景台，今年好幾次想去那邊拍日出，卻都因為太晚被而無位置 :(  不過，在此看日出的，不是一般印象中的族群，卻是以年輕人為主&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/44312623/" title="樹林大同山"&gt;&lt;img width="500" height="332" src="http://farm1.static.flickr.com/29/44312623_ff7d55ceb4.jpg" alt="樹林大同山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;當天出門時感覺有薄霧，上到山頂，在旭日的陽光下，卻呈現如此奇特的景色&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;秋天時，大同山區也會被芒草所覆蓋，特別是三角埔頂山附近。不過，今年八月，大同山區再度發生&lt;a target="_blank" href="http://news.cts.com.tw/cts/general/201108/201108260809911.html" title="新北市樹林大同山 驚傳火燒山"&gt;火燒山&lt;/a&gt;（似乎很常發生）。今年，應該是無法欣賞到滿山的芒草了…&lt;/p&gt;
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6294094335/" title="樹林大同山（Taipei）"&gt;&lt;img width="332" height="500" src="http://farm7.static.flickr.com/6038/6294094335_db0b801511.jpg" alt="樹林大同山（Taipei）" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;下山時，雲層越來越厚&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;&lt;hr&gt;
&lt;h1&gt;樹林大同山照片&lt;/h1&gt;
&lt;a href="http://www.flickr.com/photos/kingf/sets/72157627885537833/detail/" target="_blank" title="樹林大同山"&gt;&lt;b&gt;樹林大同山照片&lt;/b&gt;&lt;/a&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;h1&gt;樹林大同山高度表&lt;/h1&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-BSq3F58_ycQ/TrHiFyd6PWI/AAAAAAAAB2s/iJO5lxySJIw/s1600/%25E5%25A4%25A7%25E5%2590%258C%25E5%25B1%25B1%25EF%25BC%258D2011-10-30_height.png" imageanchor="1" style="" title="樹林大同山高度表"&gt;&lt;img border="0" height="222" width="400" src="http://1.bp.blogspot.com/-BSq3F58_ycQ/TrHiFyd6PWI/AAAAAAAAB2s/iJO5lxySJIw/s400/%25E5%25A4%25A7%25E5%2590%258C%25E5%25B1%25B1%25EF%25BC%258D2011-10-30_height.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h1&gt;樹林大同山地圖、GPS航跡圖&lt;/h1&gt;
&lt;iframe width="100%" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E5%25A4%25A7%25E5%2590%258C%25E5%25B1%25B1%25EF%25BC%258D2011-10-30.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=5.9562,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x34681dab28cc6b6f:0x66f5a82532d8b0de,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=25.011223,121.40871&amp;amp;spn=0.013612,0.021029&amp;amp;z=15&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E5%25A4%25A7%25E5%2590%258C%25E5%25B1%25B1%25EF%25BC%258D2011-10-30.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=5.9562,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x34681dab28cc6b6f:0x66f5a82532d8b0de,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=25.011223,121.40871&amp;amp;spn=0.013612,0.021029&amp;amp;z=15" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-2694236545457812145?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PmxNx438xQoeFn4qr9xlsKQ6bno/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PmxNx438xQoeFn4qr9xlsKQ6bno/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PmxNx438xQoeFn4qr9xlsKQ6bno/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PmxNx438xQoeFn4qr9xlsKQ6bno/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/QD8BKKMoVz0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/2694236545457812145/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=2694236545457812145" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2694236545457812145?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2694236545457812145?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/QD8BKKMoVz0/shulindatongshan.html" title="樹林大同山" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm7.static.flickr.com/6051/6294619026_c795ee3440_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/11/shulindatongshan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4AQX0-eSp7ImA9WhdaGEw.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-6140016633058499178</id><published>2011-10-28T23:42:00.003+08:00</published><updated>2011-10-28T23:49:00.351+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-28T23:49:00.351+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>新店和美山步道</title><content type="html">&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6270608341/" title="碧潭"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6097/6270608341_4f09b233ff.jpg" alt="碧潭" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;和美山（大笨山）山頂，俯瞰山下的碧潭&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;最近台北的天氣都不太好，假日時終於轉晴，於是搭捷運去新店碧潭晃晃。蠻久沒去碧潭，跟記憶中已經有點不同。&lt;/p&gt;
&lt;p&gt;當天天氣好，遊客很多，碧潭吊橋上滿滿的人。越到吊橋中間，可以明顯感受到碧潭吊橋左右搖晃。搖晃的非常誇張，走在上面，也跟者搖晃起來，彷彿喝醉般。想拍張清晰的照片，都有點困難…&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6270602615/" title="碧潭"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6112/6270602615_af57743890.jpg" alt="碧潭" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;碧潭&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;p&gt;過了吊橋，正在想該去哪兒時，忽然發現在橋頭攤販間，有一個『門』，上面寫者和美山步道。再看仔細，居然真的是登山步道，旁邊還有地圖。看了一下地圖，覺得山頂應該是可以俯瞰碧潭全景，於是就進了門…&lt;/p&gt;
&lt;p&gt;走過不少登山步道，第一次看過這樣的登山口。有個『門』口，進去後，兩邊牆上的展示，彷彿是廣告看板…下山時，天色已暗，兩邊打上燈光，乍看之下，真的會誤以為是廣告看板…因為回到登山口時天色已暗，沒仔細看上面的照片、說明&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;
&lt;div style="width:295px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6270610921/" title="和美山步道登山口"&gt;&lt;img width="281" height="500" src="http://farm7.static.flickr.com/6041/6270610921_cd9c17ffda.jpg" alt="和美山步道登山口" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;和美山步道登山口&lt;br/&gt;乍看之下，誤以為是商店門口&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;p&gt;和美山步道整理不錯，岔路也都有指標，並適時的提供解說牌。經由迎賓平台旁的解說牌，瞭解到，沿途所見的廢墟，原來是因為此處以前是碧潭樂園。因故歇業後而荒廢。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6271134314/" title="和美山步道"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6104/6271134314_3443b3a1e1.jpg" alt="和美山步道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;和美山步道&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:295px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6270610321/" title="和美山步道"&gt;&lt;img width="281" height="500" src="http://farm7.static.flickr.com/6045/6270610321_a54a5543a7.jpg" alt="和美山步道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;晚上在此，忽然看到白雪公主，可能會嚇一跳吧？&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;p&gt;幸福廣場旁的解說牌，提到和美山步道旁的山徑，在每年四、五月，以及十月可以欣賞到不同品種的螢火蟲。也許，明年賞螢的季節時，可以來欣賞～&lt;/p&gt;
&lt;p&gt;和美山步道不長，由登山口到山頂，步道才一公里，約20分鐘就可到了和美山山頂。&lt;/p&gt;
&lt;div style="width:295px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6271139510/" title="和美山步道"&gt;&lt;img width="281" height="500" src="http://farm7.static.flickr.com/6044/6271139510_a0dd2d6ed6.jpg" alt="和美山步道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;快到山頂前，步道變成枕木步道。雖然走起來比較舒服，卻由於連續雨天而有點濕滑&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6270607877/" title="和美山步道"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6042/6270607877_2f598f4eed.jpg" alt="和美山步道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;和美山步道 位於山頂的解說牌&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;p&gt;山頂設有平台可供休息。山頂的展望不錯，站在山頂上眺望，除了可以俯瞰山下的碧潭，整個新店地區、獅頭山、台北101、南港山都可印入眼簾。更遠方的陽明山、觀音山，則因為天氣因素，無法清楚看到全貌。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6271137530/" title="和美山山頂"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6240/6271137530_c9cb86174b.jpg" alt="和美山山頂" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;和美山山頂平台&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6270607173/" title="和美山步道"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6035/6270607173_d211903799.jpg" alt="和美山步道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;連續雨天後的短暫放晴。&lt;br/&gt;台北依舊濛濛的，看不清遠方的大屯山、觀音山…&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:295px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6271138994/" title="和美山三角點"&gt;&lt;img width="281" height="500" src="http://farm7.static.flickr.com/6043/6271138994_c6bfc67b5d.jpg" alt="和美山三角點" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;和美山（大笨山）三等三角點&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6270606989/" title="和美山步道"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6116/6270606989_016f4312cf.jpg" alt="和美山步道" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;和美山山頂欣賞夕陽&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;p&gt;深秋，天色暗的很快。在山頂沒停留太久就循原路下山…回到登山口時天色已經完全暗下。&lt;/p&gt;
&lt;p&gt;這次來碧潭時間比較晚，順便想試試看sony nex-c3拍長時間曝光夜景的效果。沒想到…當時所拍攝的長時間曝光照片，高達八成的照片都失焦。&lt;/p&gt;
&lt;p&gt;這些失焦的照片和晃到的照片不同。為何會這樣？我也很納悶…不過，EVIL相機真的很方便，平常揹的側背包，放了sony nex-c3一機兩鏡、外加章魚腳腳架後還有空間可放其他東西。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6270611877/" title="碧潭"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6112/6270611877_8c9541d5a7.jpg" alt="碧潭" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;碧潭吊橋夜景&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6271141754/" title="碧潭"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6225/6271141754_51110e5a69.jpg" alt="碧潭" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;失敗的失焦照片… 不知道 是sony nex-3c的問題？還是我的問題？&lt;br/&gt;
當時所拍攝的長時間曝光照片，高達八成的照片都失焦。&lt;br/&gt;
另外有一成，則是按快門太用力整個晃到....  :(&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br/&gt;
&lt;p&gt;事後對照地圖，這次走的路線，是和美山步道的綠線。附近尚有其他支線與景點可造訪。下次應該再找個時間，走和美山步道的藍線（有真愛碼頭、雙心坪、太白樓景點）、新店渡，坐全國僅存的人工擺渡，回到對岸尋找瑠公圳古蹟等…&lt;/p&gt;
&lt;br /&gt;&lt;hr&gt;
&lt;h1&gt;新店和美山步道 照片&lt;/h1&gt;
&lt;a href="http://www.flickr.com/photos/kingf/sets/72157627955146832/" target="_blank" title="新店和美山步道"&gt;&lt;b&gt;新店和美山步道&lt;/b&gt;&lt;/a&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;h1&gt;和美山（大笨山）高度表&lt;/h1&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-vEBD7qPqfA0/TqdMCWHl02I/AAAAAAAAB2g/Foh9KnyXRcE/s1600/%25E5%2592%258C%25E7%25BE%258E%25E5%25B1%25B1%25E6%25AD%25A5%25E9%2581%2593%25EF%25BC%258D2011-10-22_height.png" imageanchor="1" style=""&gt;&lt;img border="0" height="222" width="400" src="http://4.bp.blogspot.com/-vEBD7qPqfA0/TqdMCWHl02I/AAAAAAAAB2g/Foh9KnyXRcE/s400/%25E5%2592%258C%25E7%25BE%258E%25E5%25B1%25B1%25E6%25AD%25A5%25E9%2581%2593%25EF%25BC%258D2011-10-22_height.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h1&gt;和美山步道地圖、GPS航跡圖&lt;/h1&gt;
&lt;iframe width="100%" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E5%2592%258C%25E7%25BE%258E%25E5%25B1%25B1%25E6%25AD%25A5%25E9%2581%2593%25EF%25BC%258D2011-10-22.kml&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.247505,9.876709&amp;amp;vpsrc=6&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;brcurrent=3,0x346803de3309ff0b:0x28912d7c845b6a29,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ll=24.955519,121.533852&amp;amp;spn=0.013618,0.020943&amp;amp;z=15&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E5%2592%258C%25E7%25BE%258E%25E5%25B1%25B1%25E6%25AD%25A5%25E9%2581%2593%25EF%25BC%258D2011-10-22.kml&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.247505,9.876709&amp;amp;vpsrc=6&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;brcurrent=3,0x346803de3309ff0b:0x28912d7c845b6a29,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ll=24.955519,121.533852&amp;amp;spn=0.013618,0.020943&amp;amp;z=15" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-6140016633058499178?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/E2hL-tKaWym76C8wBbgQVuUP9cg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E2hL-tKaWym76C8wBbgQVuUP9cg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/E2hL-tKaWym76C8wBbgQVuUP9cg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/E2hL-tKaWym76C8wBbgQVuUP9cg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/Vg4mkmyXah0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/6140016633058499178/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=6140016633058499178" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/6140016633058499178?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/6140016633058499178?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/Vg4mkmyXah0/sindianhemeishan.html" title="新店和美山步道" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm7.static.flickr.com/6097/6270608341_4f09b233ff_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/10/sindianhemeishan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUDRn47eSp7ImA9WhdaFEs.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-1561766609122861653</id><published>2011-10-24T22:24:00.002+08:00</published><updated>2011-10-24T22:24:37.001+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-24T22:24:37.001+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>觀音山上看建國百年國慶空中分列式</title><content type="html">&lt;span style="border: 1px solid rgb(203, 203, 203); float: left;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6240376851/" title="空軍雷虎小組AT-3"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6231/6240376851_8d10728463.jpg" alt="空軍雷虎小組AT-3" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;空軍雷虎小組AT-3教練機、採大雁隊形噴藍、白、紅彩煙通過總統府上空&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;
&lt;p&gt;離上一次的國慶閱兵已經是四年前（民國九十六年、2007）的事情了。那時，事前沒有注意這些消息。新聞媒體一直圍繞在神龍小組於總統府前跳傘，讓人以為當時只有神龍小組表演。&lt;/p&gt;
&lt;p&gt;今年的百年國慶前，看到有人拍攝空中分列式國慶預演。才知道，這次包含直昇機、慢速機及戰機等3種機隊，共12種型機種、70架飛機。並且，直昇機會在進入台北市觀禮台前會在北投、關渡、三重、蘆洲一帶盤旋。最後經由圓山飯店附近進入台北市區。&lt;/p&gt;
&lt;p&gt;這樣就吸引我了。畢竟，這麼多架飛機、及多種不同機型會在台北上空盤旋，是非常難得的經驗。&lt;/p&gt;
&lt;p&gt;每次看國防展，總是只能抬頭仰望天上的飛機呼嘯而過。地上的我們，只能見到機腹。這次想找座山，利用較高的地勢，欣賞到另一種角度。原本想去圓山飯店靠近航道附近的劍潭山，不過…最後是選擇海拔600多公尺，位於淡水河旁的觀音山…&lt;/p&gt;&lt;a name='more'&gt;&lt;/a&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6036930439/" title="雷虎小組開幕衝場"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6145/6036930439_97b2160a63.jpg" alt="雷虎小組開幕衝場" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;今年稍早，於空軍松山基地所拍。仰頭觀看，只能看見雷虎小組機腹&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;觀音山的景色真的不錯。首推位於山頂硬漢嶺上的觀景台，由左而右，可以欣賞到淡水河口、大屯山系、關渡、北投、台北市區、新北市、直到大漢溪，視野非常的廣。站在硬漢嶺上，台北著名地標一一可見，台北101大樓、新光大塿、圓山飯店、關渡大橋、中正紀念堂等&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6234607236/" title="觀音山遠眺"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6095/6234607236_c85068eb9f.jpg" alt="觀音山遠眺" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;剛到硬漢嶺時，遠方可見層層山巒&lt;br/&gt;比較近的林口台地、樹林青龍嶺非常清楚&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;很可惜的，當天天氣不是很好，所幸空氣還不錯，可見整個台北盆地。台北101因為光線關係，顏色和後方南港山系非常相似，似乎掩身於背後的山林之中。也因此，在等待機群時，陸續聽到剛上山來的小朋友，嚷朗找不到台北最顯眼、著名的地標台北101。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6234608204/" title="觀音山遠眺台北"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6211/6234608204_0d8b759a5c.jpg" alt="觀音山遠眺台北" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;今天天氣不好，但是空氣不錯。
光線不好的情況下…很多人居然看不到台北101&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6236221240/" title="台北101"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6097/6236221240_5192c87b00.jpg" alt="台北101" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;鏡頭拉近點，台北101清楚多了…在這些建築中，認出多少建築？&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;其實，觀音山除了硬漢嶺上的觀景台外，主要步道的沿途也有一些景觀台，值得駐足欣賞風景。有的看海景，如台北港。有的看山景，如林口、桃園、及遠方的雪山山脈。曾經，在黃昏時造訪，還欣賞到斗大的夕陽沒入桃園方向的遠方…&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6240895792/" title="台北港"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6035/6240895792_c32dc11de9.jpg" alt="台北港" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;台北港&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6240377885/" title="觀音山遠眺桃園"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6220/6240377885_ed5baa950e.jpg" alt="觀音山遠眺桃園" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;觀音山遠眺桃園&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;由於不知道空中分列式何時開始，在慶典還沒開始就已經在硬漢嶺上等者…等待將近兩小時候後，終於看到直昇機隊由鶯歌、樹林方向飛來。遠遠看來，彷彿一隊會飛的黑螞蟻朝者台北方向前進。接近後，可見各機種是以四架為隊形行進。&lt;/p&gt;
&lt;p&gt;整個機隊在在北投、關渡、三重、蘆洲一帶盤旋三次後進入台北市區。各機種的預備機在盤旋第二圈後離去。因此，各機種是以三架為隊形進入觀禮台。（完整照片，請見&lt;a href="http://www.flickr.com/photos/kingf/sets/72157627534720674/" target="_blank" title="建國百年空中分列式＠觀音山"&gt;建國百年空中分列式＠觀音山&lt;/a&gt;）&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6238773851/" title="空中展演-旋翼機隊"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6178/6238773851_0fd2cd23b4.jpg" alt="空中展演-旋翼機隊" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;機隊由桃園、鶯歌方向飛來。遠遠看來，彷彿一群行進中的黑色螞蟻&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6239297390/" title="空中展演-旋翼機隊"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6227/6239297390_440a3429ff.jpg" alt="空中展演-旋翼機隊" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;第一圈迴轉&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6240374375/" title="陸軍AH-1W攻擊直升機"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6168/6240374375_231756146a.jpg" alt="陸軍AH-1W攻擊直升機" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;陸軍AH-1W攻擊直升機&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;接者，各種飛機也陸續由淡水外海飛入。只見各型飛機以非常的緩慢的速度行進，在圓山飯店前轉入台北。可惜的是，觀音山距離航道太遠，連C130運輸機這種比較大型的機型，在硬漢嶺上看來，都顯得有點小…下次，如果還有機會，應該要找北投一帶的山區。&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6240893038/" title="空軍C-130H運輸機"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6158/6240893038_ebb047c8d8.jpg" alt="空軍C-130H運輸機" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;空軍C-130H運輸機&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;硬漢嶺，這名稱聽起來讓人覺得此步道似乎很操。其實也還好…由登山口到觀音山山頂硬漢嶺，也才1.8公里。慢慢走…一小時左右可到（其實，中間還有一條捷徑，可少走點上坡路）。雖然需要爬升約300公尺，但山頂硬漢嶺上的風景，這點小辛苦非常值得～&lt;/p&gt;
&lt;p&gt;個人不喜歡走階梯下山，下山時，取另一條山路下山。沒想到，沒接到原本的硬漢嶺登山口，最後是由楓櫃斗湖出來。再循馬路，經過楞嚴閣回到凌雲禪寺停車處。&lt;/p&gt;
&lt;p&gt;此時，遠方山頭的雲瀑越來越明顯。看看方向，應該是秋冬時會去造訪的&lt;a target="_blank" href="http://kingfff.blogspot.com/2009/12/2009.html" title="北插天山賞霧淞"&gt;北插天山&lt;/a&gt; 吧。也難怪，去了十次左右，唯獨&lt;a  target="_blank"  href="http://kingfff.blogspot.com/2006/11/blog-post_3093.html" title="北插天山-第三次之行（行經多涯山）" &gt;第三次行經多涯山&lt;/a&gt;，在山頂清楚的看到台北、及石門水庫。就算如此，每次去，過了中午也都會遇到起霧。算一算，又到了賞山毛櫸的季節了～&lt;/p&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6236222606/" title="雲瀑"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6048/6236222606_968c033547.jpg" alt="雲瀑" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;這雲瀑，應該是北插天山一帶吧&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;對了，首次走64快速道路去觀音山。如此就不會塞在通往關渡的路上，另外。離開64快速道路時，也已經到了觀音山的半山腰處了&lt;/p&gt;
&lt;hr&gt;&lt;span class="c_head"&gt;建國百年空中分列式＠觀音山 照片&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/kingf/sets/72157627534720674/" target="_blank" title="建國百年空中分列式＠觀音山"&gt;&lt;b&gt;建國百年空中分列式＠觀音山&lt;/b&gt;&lt;/a&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;h1&gt;觀音山硬漢嶺高度表&lt;/h1&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-p1stE5gnODc/TqVmVhSmtGI/AAAAAAAAB2I/lMbBCfF81-I/s1600/%25E8%25A7%2580%25E9%259F%25B3%25E5%25B1%25B1-2011-10-10_height.png" imageanchor="1" style=""&gt;&lt;img border="0" height="222" width="400" src="http://4.bp.blogspot.com/-p1stE5gnODc/TqVmVhSmtGI/AAAAAAAAB2I/lMbBCfF81-I/s400/%25E8%25A7%2580%25E9%259F%25B3%25E5%25B1%25B1-2011-10-10_height.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;h1&gt;觀音山硬漢嶺地圖、GPS航跡圖&lt;/h1&gt;
&lt;iframe width="100%" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E8%25A7%2580%25E9%259F%25B3%25E5%25B1%25B1-2011-10-10.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.247505,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x3442a5b8601f861d:0x3d9cfcf3c724c575,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=25.132775,121.423345&amp;amp;spn=0.017484,0.021672&amp;amp;z=15&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E8%25A7%2580%25E9%259F%25B3%25E5%25B1%25B1-2011-10-10.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=6.247505,9.876709&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x3442a5b8601f861d:0x3d9cfcf3c724c575,0,0x345d5538b0b6645f:0x5aa90dfa6620edc0&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=25.132775,121.423345&amp;amp;spn=0.017484,0.021672&amp;amp;z=15" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-1561766609122861653?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lz0raoKxSrE8gL7KfKDwbLMOQVg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lz0raoKxSrE8gL7KfKDwbLMOQVg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lz0raoKxSrE8gL7KfKDwbLMOQVg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lz0raoKxSrE8gL7KfKDwbLMOQVg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/RtDX21Oh3y4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/1561766609122861653/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=1561766609122861653" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/1561766609122861653?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/1561766609122861653?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/RtDX21Oh3y4/guanyishan-air-craft.html" title="觀音山上看建國百年國慶空中分列式" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm7.static.flickr.com/6231/6240376851_8d10728463_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/10/guanyishan-air-craft.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8MRng7cCp7ImA9WhdaEEw.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-4419757862953235647</id><published>2011-10-19T18:08:00.000+08:00</published><updated>2011-10-19T18:08:07.608+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-19T18:08:07.608+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="database" /><title>php連Oracle中文亂碼問題</title><content type="html">&lt;p&gt;最近使用php操作Oracle，遇到中文亂碼問題。最後在大家集思廣益下，把問題解決了，做個紀錄…&lt;/p&gt;
&lt;p&gt;原以為使用php去連Oracle，應該和其他資料庫一樣，在連線時，設定正確的字元集（character_set）。再將轉碼過的中文寫入資料庫即可。沒想到，Oracle有點不同…&lt;/p&gt;
&lt;p&gt;php如何設定Oracle？在官方資料 - &lt;a href="http://www.php.net/manual/en/oci8.installation.php" title="PHP: Installation - Manual - Configuring PHP with OCI8 "&gt;Configuring PHP with OCI8&lt;/a&gt;，於Setting the Oracle Environment這章節中提到需要設定環境變數（Common Oracle Environment Variables），如下…
&lt;ol&gt;
&lt;li&gt;ORACLE_HOME&lt;/li&gt;
&lt;li&gt;ORACLE_SID&lt;/li&gt;
&lt;li&gt;LD_LIBRARY_PATH&lt;/li&gt;
&lt;li&gt;NLS_LANG&lt;/li&gt;
&lt;li&gt;ORA_SDTZ&lt;/li&gt;
&lt;li&gt;TNS_ADMIN&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;經過測試後，我們遇到中文亂碼的問題，只需要設定ORACLE_HOME、NLS_LAN即可。
&lt;br /&gt;當然，下述參數的設定值，需視機器環境作調整。&lt;a name='more'&gt;&lt;/a&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;
&lt;ol class="dp-rb" start="1"&gt;
&lt;li class="alt"&gt;setenv&amp;nbsp;NLS_LANG&amp;nbsp;AMERICAN_AMERICA.UTF8&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;setenv&amp;nbsp;ORACLE_HOME&amp;nbsp;/usr/local/oracle8-client&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;另外，開啟Oracle連線時的字元集（character_set），其實可以不用設定。php會採用上述NLS_LANG的設定值。不過，有設定會比較好。詳細說明請見&lt;a href="http://www.php.net/manual/en/function.oci-connect.php" title="PHP: oci_connect - Manual"&gt;PHP: oci_connect - Manual&lt;/a&gt;中，對於character_set的說明。&lt;/p&gt;
&lt;p&gt;如果…連線時的字元集設定錯，可能會看到如下的兩種錯誤訊息…
&lt;div class="myprogcode"&gt;
Warning:  oci_new_connect(): ORA-12705: invalid or unknown NLS parameter value specified&lt;br /&gt;
Warning: oci_new_connect(): Error while trying to retrieve text for error ORA-12705&lt;/div&gt;&lt;/p&gt;
附註：
&lt;ul&gt;
&lt;li&gt;設定好環境變數，apache也可以吃到。如果沒吃到，則需要在httpd.conf中設定&lt;/li&gt;
&lt;li&gt;安裝OCI8後，無意間發現在CLI中執行php，只要程式有連結Oracle，當程式執行完後，就會出現Segmentation fault的訊息。 :(&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-4419757862953235647?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EjXyG8hB600Y2Qhzkg29TNxnehk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EjXyG8hB600Y2Qhzkg29TNxnehk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EjXyG8hB600Y2Qhzkg29TNxnehk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EjXyG8hB600Y2Qhzkg29TNxnehk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/vo5gw8F-W70" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/4419757862953235647/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=4419757862953235647" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/4419757862953235647?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/4419757862953235647?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/vo5gw8F-W70/phporacle.html" title="php連Oracle中文亂碼問題" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/10/phporacle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8MRn44cSp7ImA9WhdUF08.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-5819049831054984501</id><published>2011-10-04T18:41:00.000+08:00</published><updated>2011-10-04T18:41:27.039+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-04T18:41:27.039+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="CodeIgniter" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>PHP CodeSniffer整合Subversion</title><content type="html">&lt;p&gt;設定好&lt;a title="PHP_CodeSniffer" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" target="_blank"&gt;PHP CodeSniffer&lt;/a&gt;後，接者就要和版本控制整合。當開發團隊的成員在commit程式碼時，即時讓&lt;a title="PHP_CodeSniffer" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" target="_blank"&gt;PHP Sniffer&lt;/a&gt;做檢查，確定程式有依照規範開發。&lt;/p&gt;
&lt;p&gt;以整合&lt;a title="Subversion" href="http://subversion.apache.org/" target="_blank"&gt;Subversion&lt;/a&gt;為例。官方網站&lt;a href="http://pear.php.net/manual/en/package.php.php-codesniffer.svn-pre-commit.php" title="Using the Subversion pre-commit Hook"&gt;Using the Subversion pre-commit Hook&lt;/a&gt;這篇文章就寫得非常清楚，照者文件作即可。基本上，就是配合&lt;a title="Subversion" href="http://subversion.apache.org/" target="_blank"&gt;Subversion&lt;/a&gt;的pre-commit hook。在commit前呼叫&lt;a title="PHP_CodeSniffer" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" target="_blank"&gt;PHP CodeSniffer&lt;/a&gt;做檢查，如果有不符合規範，就不讓此次的commit完成。&lt;/p&gt;
&lt;p&gt;如果不熟悉&lt;a title="Subversion" href="http://subversion.apache.org/" target="_blank"&gt;Subversion&lt;/a&gt;的pre-commit hook如何使用，請參閱SVN官方的說明&lt;a href="http://svnbook.red-bean.com/en/1.6/svn.ref.reposhooks.pre-commit.html" title="Repository Hooks pre-commit"&gt;Repository Hooks pre-commit&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;在實務上，只有一個設定需要稍微注意。適當的調整參數  --report-width ，以配合自己所用的開發工具（IDE），取得最佳的視覺呈現。以我測試的例子，我採用的標準為&lt;a title="CodeIgniter-for-PHP_CodeSniffer" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer" target="_blank"&gt;CodeIgniter-for-PHP_CodeSniffer&lt;/a&gt;。所以我在&lt;a title="Subversion" href="http://subversion.apache.org/" target="_blank"&gt;Subversion&lt;/a&gt;的 pre-commit hook 中，做下面的設定…
&lt;a name='more'&gt;&lt;/a&gt;
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-rb" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;/path/phpcs&amp;nbsp;&amp;nbsp;--report-width=120&amp;nbsp;&amp;nbsp;--tab-width=4&amp;nbsp;--standard=/CodeSniffer/Standards/CodeIgniter/ruleset.xml&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="string"&gt;"$REPOS"&lt;/span&gt;&lt;span&gt;&amp;nbsp;-t&amp;nbsp;&lt;/span&gt;&lt;span class="string"&gt;"$TXN"&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;gt;&amp;amp;2&amp;nbsp;||&amp;nbsp;exit&amp;nbsp;1&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;其實，這樣的作法也可以套用在commit時，檢查使用者是否有寫此次為何要commit的說明（這點，其實很重要。往後才能追蹤版本為何變化）。事實上，&lt;a title="Subversion" href="http://subversion.apache.org/" target="_blank"&gt;Subversion&lt;/a&gt;內附的post-commit.tmpl內，就已經內含這樣的判斷了。&lt;/p&gt;
&lt;p&gt;不過，上述所提僅是技術方面的設定。實際使用上，尚須相關的配套措施配合 :)&lt;/p&gt;

&lt;div class="c_head"&gt;參考資料&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://svnbook.red-bean.com/en/1.6/svn.ref.reposhooks.pre-commit.html" title="Repository Hooks pre-commit"&gt;Repository Hooks pre-commit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.svn-pre-commit.php" title="Using the Subversion pre-commit Hook"&gt;Using the Subversion pre-commit Hook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/09/phpcodesniffer.html" title="PHP_CodeSniffer基本介紹 "&gt;PHP_CodeSniffer基本介紹&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://kingfff.blogspot.com/2011/09/php-codesniffer-codeigniter.html" title="PHP CodeSniffer進階使用-新增CodeIgniter格式"&gt;PHP CodeSniffer進階使用-新增CodeIgniter格式&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-5819049831054984501?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BcLxGBqHrXheJE2CTXyaTKWlvfs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BcLxGBqHrXheJE2CTXyaTKWlvfs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BcLxGBqHrXheJE2CTXyaTKWlvfs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BcLxGBqHrXheJE2CTXyaTKWlvfs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/xKx_n1e3Jn0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/5819049831054984501/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=5819049831054984501" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/5819049831054984501?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/5819049831054984501?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/xKx_n1e3Jn0/php-codesniffer-subversion.html" title="PHP CodeSniffer整合Subversion" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/10/php-codesniffer-subversion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUNQ30-eSp7ImA9WhdVEUs.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-8629609257884235265</id><published>2011-09-16T16:54:00.002+08:00</published><updated>2011-09-16T16:54:52.351+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-16T16:54:52.351+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="CodeIgniter" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>PHP CodeSniffer進階使用-新增CodeIgniter格式</title><content type="html">安裝好&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;，內建有五種coding standards。如果您使用其中一種，就可以馬上使用了。
&lt;ol&gt;
&lt;li&gt;MySource&lt;/li&gt;&lt;li&gt;PEAR&lt;/li&gt;&lt;li&gt;PHPCS&lt;/li&gt;&lt;li&gt;Squiz&lt;/li&gt;&lt;li&gt;Zend&lt;/li&gt;
&lt;/ol&gt;
如果不是上述五種，需要增加其他的coding standards，該怎麼辦？喜歡自己動手做，可以參考官方文件 - &lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.coding-standard-tutorial.php" title="Coding Standard Tutorial"&gt;Coding Standard Tutorial&lt;/a&gt;自己做一套。也可以找別人寫好的…以&lt;a target="_blank" href="http://codeigniter.com/user_guide/general/styleguide.html" title="General Style and Syntax"&gt;CodeIgniter - General Style and Syntax&lt;/a&gt;為例，可以下載&lt;a target="_blank" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer" title="CodeIgniter-for-PHP_CodeSniffer"&gt;CodeIgniter-for-PHP_CodeSniffer&lt;/a&gt;安裝使用。
&lt;br/&gt;&lt;br/&gt;

安裝方式很簡單，將&lt;a target="_blank" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer" title="CodeIgniter-for-PHP_CodeSniffer"&gt;CodeIgniter-for-PHP_CodeSniffer&lt;/a&gt;解壓縮到&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;存放coding standards的目錄下即可。

完成上述步驟，基本上&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;就可以使用&lt;a target="_blank" href="http://codeigniter.com/user_guide/general/styleguide.html" title="CodeIgniter style guide"&gt;CodeIgniter的風格&lt;/a&gt;作為檢查的依據。
&lt;br/&gt;&lt;br/&gt;
不幸的，&lt;a target="_blank" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer" title="CodeIgniter-for-PHP_CodeSniffer"&gt;CodeIgniter-for-PHP_CodeSniffer&lt;/a&gt;直到目前（2011/09）的版本是以CodeIgniter 1.7.x 的風格為依據，所以會有一些誤判…
&lt;br/&gt;&lt;br/&gt;
&lt;a name='more'&gt;&lt;/a&gt;
以Constructor的寫法所遇到的問題舉例，CodeIgniter 2.x 開始不再支援PHP 4。Constructor的寫法必須依照PHP 5的作法。因此，當我們拿CodeIgniter 2.x 開發的php程式檢查，&lt;a target="_blank" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer" title="CodeIgniter-for-PHP_CodeSniffer"&gt;CodeIgniter-for-PHP_CodeSniffer&lt;/a&gt;會顯示如下的錯誤，不允許我們使用PHP5的模式。
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-c" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;12&amp;nbsp;|&amp;nbsp;ERROR&amp;nbsp;|&amp;nbsp;PHP5&amp;nbsp;style&amp;nbsp;constructors&amp;nbsp;are&amp;nbsp;not&amp;nbsp;allowed;&amp;nbsp;&lt;/span&gt;&lt;span class="keyword"&gt;use&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="string"&gt;"Xyz"&lt;/span&gt;&lt;span&gt;&amp;nbsp;instead&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;15&amp;nbsp;|&amp;nbsp;ERROR&amp;nbsp;|&amp;nbsp;PHP5&amp;nbsp;style&amp;nbsp;calls&amp;nbsp;to&amp;nbsp;parent&amp;nbsp;constructors&amp;nbsp;are&amp;nbsp;not&amp;nbsp;allowed.&amp;nbsp;Please&amp;nbsp;&lt;span class="keyword"&gt;use&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="string"&gt;"parent::CI_Controller"&lt;/span&gt;&lt;span&gt;&amp;nbsp;instead.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

我們需要額外做些調整。處理方式也很簡單，不需要調整&lt;a target="_blank" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer" title="CodeIgniter-for-PHP_CodeSniffer"&gt;CodeIgniter-for-PHP_CodeSniffer&lt;/a&gt;的程式。在官方文件-&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.php" title="Annotated ruleset.xml"&gt;Annotated ruleset.xml&lt;/a&gt;，提到一些作法。我們只需要調整ruleset.xml 設定即可。
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-xml" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;rule&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;ref&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"CodeIgniter.NamingConventions.ConstructorName"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;severity&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;severity&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;rule&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

檢查時，也需要指明要使用調整後的ruleset.xml。之前的錯誤訊息就不會再顯示了。
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;ol class="dp-rb" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;phpcs&amp;nbsp;--standard=/CodeSniffer/Standards/CodeIgniter/ruleset.xml&amp;nbsp;/prog/myprog.php&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

以下，則是另外兩個範例。分別是編排程式碼時允許使用tab，以及{}的使用風格
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-xml" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;rule&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;ref&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"CodeIgniter.WhiteSpace.DisallowSpaceIndent"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;severity&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;severity&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;rule&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;rule&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="attribute"&gt;ref&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class="attribute-value"&gt;"Generic.Functions.OpeningFunctionBraceBsdAllman.BraceOnSameLine"&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="tag"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag-name"&gt;severity&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;severity&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="tag"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag-name"&gt;rule&lt;/span&gt;&lt;span class="tag"&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

後記
&lt;br/&gt;
在實際使用&lt;a target="_blank" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer" title="CodeIgniter-for-PHP_CodeSniffer"&gt;CodeIgniter-for-PHP_CodeSniffer&lt;/a&gt;後，發現&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;常會因segmentation fault的錯誤而結束執行。原以為是因為被檢查的程式碼行數太多。但，有時檢查不到200行的程式也會有此狀況。最後才知道，很多人使用上都有此問題。該問題也已經列在&lt;a target="_blank" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer" title="CodeIgniter-for-PHP_CodeSniffer"&gt;CodeIgniter-for-PHP_CodeSniffer&lt;/a&gt;的 &lt;a target="_blank" href="https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer/issues/8" title="CodeIgniter-for-PHP_CodeSniffer issues"&gt;issues&lt;/a&gt;了




&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-8629609257884235265?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-NS8DWu5arRfM3zzIuBxcQ4qahs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-NS8DWu5arRfM3zzIuBxcQ4qahs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-NS8DWu5arRfM3zzIuBxcQ4qahs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-NS8DWu5arRfM3zzIuBxcQ4qahs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/fac0bCRyBb0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/8629609257884235265/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=8629609257884235265" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/8629609257884235265?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/8629609257884235265?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/fac0bCRyBb0/php-codesniffer-codeigniter.html" title="PHP CodeSniffer進階使用-新增CodeIgniter格式" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/09/php-codesniffer-codeigniter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMDRns7fSp7ImA9WhdVEUs.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-2350078150841495432</id><published>2011-09-16T12:45:00.003+08:00</published><updated>2011-09-16T16:57:57.505+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-16T16:57:57.505+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>PHP_CodeSniffer基本介紹</title><content type="html">在維護程式時，最糟的狀況，莫過於該程式中毫無一行註解。最後，維護者可能必須要一行行追程式，已瞭解該程式的處理流程。或者，程式碼毫無編排、命名方式（全都是 i,x,y 等無意義字母）。這…維護時就是一件累人的工作…
&lt;br/&gt;&lt;br/&gt;
也許，會有人要求必須在程式內寫註解（如phpDoc）。不過，又該如何確保程式內是否真的寫？或者…程式碼的撰寫風格是否有符合團體所要求的？
&lt;br/&gt;&lt;br/&gt;
於是，需要一些工具來協助。以PHP為例，可以使用&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;
&lt;br/&gt;&lt;br/&gt;
首先，看一下&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;官方網站上的定義
&lt;div class="myprogcode"&gt;PHP_CodeSniffer is a PHP5 script that tokenises and "sniffs" PHP, JavaScript and CSS files to detect violations of a defined coding standard. It is an essential development tool that ensures your code remains clean and consistent. It can also help prevent some common semantic errors made by developers. &lt;/div&gt;有注意到嗎？&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;不支援PHP4
&lt;br/&gt;&lt;br/&gt;
&lt;h1 class="c_head"&gt;如何安裝PHP_CodeSniffer&lt;/h1&gt;
&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;的安裝非常簡單，一行指令就結束…
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;ol class="dp-rb" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;pear&amp;nbsp;install&amp;nbsp;PHP_CodeSniffer&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;a name='more'&gt;&lt;/a&gt;
&lt;h1 class="c_head"&gt;如何使用PHP_CodeSniffer&lt;/h1&gt;
基本操作分為兩種…
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-rb" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;nbsp;檢查單一程式&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;phpcs&amp;nbsp;/prog/myprog.php&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;nbsp;檢查整個目錄下的程式&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;phpcs&amp;nbsp;/prog/&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;能呈現什麼資訊？以及有哪些報表模式？不妨直接看官網上&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.reporting.php" title="Reporting"&gt;Reporting&lt;/a&gt;內的各式呈現方式。當中，還有SVN Blame耶（請見Printing an SVN Blame Report標題）
&lt;br/&gt;註：Blame，在&lt;a target="_blank" href="http://tortoisesvn.net/" title="tortoisesvn"&gt;tortoisesvn&lt;/a&gt;（小烏龜）中，中文翻譯為『譴責』 XD
&lt;br/&gt;&lt;br/&gt;

在實務中，coding standards有很多種。說不定還有屬於自己的，或者因為採用某framework，因此必須符合該framework的規範。因此，&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;提供設定，讓我們在執行檢查時，能切換不同的coding standards作為檢查的依據。以下，則列出相關的操作
&lt;br/&gt;&lt;br/&gt;
&lt;h2 class="c_head"&gt;查詢目前安裝哪些coding standards&lt;/h2&gt;
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;ol class="dp-rb" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;phpcs&amp;nbsp;-i&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;The&amp;nbsp;installed&amp;nbsp;coding&amp;nbsp;standards&amp;nbsp;are&amp;nbsp;MySource,&amp;nbsp;PEAR,&amp;nbsp;PHPCS,&amp;nbsp;Squiz,&amp;nbsp;Zend&amp;nbsp;and&amp;nbsp;CodeIgniter&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;h2 class="c_head"&gt;設定coding standards&lt;/h2&gt;
執行檢查時，切換不同的coding standards作為檢查的依據
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;ol class="dp-rb" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;$&amp;nbsp;phpcs&amp;nbsp;--standard=PEAR&amp;nbsp;/prog/myprog.php&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;h2 class="c_head"&gt;更換預設所使用的coding standards&lt;/h2&gt;
當然，也可以設定預設值。以下範例，將預設coding standards更換為我後續安裝的CodeIgniter
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol class="dp-rb" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;phpcs&amp;nbsp;--config-set&amp;nbsp;default_standard&amp;nbsp;CodeIgniter&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;#&amp;nbsp;註：執行本參數，需要寫入的權限&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;h2 class="c_head"&gt;顯示是哪支sniff code所檢查&lt;/h2&gt;
做後續調整設定時，會需要使用本參數
&lt;div id="hlDiv" class="dp-highlighter"&gt;&lt;ol class="dp-rb" start="1"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;phpcs&amp;nbsp;-s&amp;nbsp;/prog/myprog.php&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;br/&gt;&lt;br/&gt;
以上，只是列出最基本的操作。&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.php" title="PHP_CodeSniffer"&gt;PHP_CodeSniffer&lt;/a&gt;的使用不只如此。想多瞭解並加以利用者，務必參考官網上的說明
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.usage.php" title="Standard usage information"&gt;PHP_CodeSniffer 基本操作&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.advanced-usage.php" title="Advanced usage information"&gt;PHP_CodeSniffer 進階操作&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://pear.php.net/manual/en/package.php.php-codesniffer.config-options.php" title="A list of configuration options"&gt;設定參數說明&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-2350078150841495432?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aghGn4KAWDUEuVPQJTo3VCOfers/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aghGn4KAWDUEuVPQJTo3VCOfers/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aghGn4KAWDUEuVPQJTo3VCOfers/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aghGn4KAWDUEuVPQJTo3VCOfers/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/575UnH6_yqI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/2350078150841495432/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=2350078150841495432" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2350078150841495432?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2350078150841495432?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/575UnH6_yqI/phpcodesniffer.html" title="PHP_CodeSniffer基本介紹" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/09/phpcodesniffer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cAQH0yfCp7ImA9WhdWGUU.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-2675520504649232781</id><published>2011-09-06T21:49:00.003+08:00</published><updated>2011-09-14T16:30:41.394+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-14T16:30:41.394+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="CodeIgniter" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>將getID3包成CodeIgniter的library</title><content type="html">如何將&lt;a href="http://getid3.sourceforge.net/" target="_blank" title="getID3"&gt;getID3&lt;/a&gt;包成&lt;a href="http://codeigniter.com/" target="_blank" title="php framework codeigniter"&gt;CodeIgniter&lt;/a&gt;的library，讓&lt;a href="http://codeigniter.com/" target="_blank" title="php framework codeigniter"&gt;CodeIgniter&lt;/a&gt;呼叫、使用呢？
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://getid3.sourceforge.net/" target="_blank" title="getID3"&gt;getID3&lt;/a&gt;的程式已經是一個class，因此，步驟就很簡單了…&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;將 &lt;a href="http://getid3.sourceforge.net/" target="_blank" title="getID3"&gt;getID3&lt;/a&gt;的主程式，複製到 application/libraries （有需要的話，請自建目錄）&lt;/li&gt;
&lt;li&gt;如官方文件&lt;a href="http://codeigniter.com/user_guide/general/creating_libraries.html"&gt;Creating Libraries&lt;/a&gt;中所述的規則，將getid3.php的檔名改為Getid3.php&lt;/li&gt;
&lt;li&gt;找出下面程式碼做修改。以我測試用的&lt;a href="http://getid3.sourceforge.net/" target="_blank" title="getID3"&gt;getID3&lt;/a&gt;版本 - stable version: 1.9.0 （1.9.1-20110810）為例。下面程式位於第69行附近…
&lt;a name='more'&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;
&lt;div class="bar"&gt;
&lt;/div&gt;
&lt;ol class="dp-c" start="1"&gt;
&lt;li class="alt"&gt;&lt;span class="comment"&gt;//&amp;nbsp;Get&amp;nbsp;base&amp;nbsp;path&amp;nbsp;of&amp;nbsp;getID3()&amp;nbsp;-&amp;nbsp;ONCE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;&amp;nbsp;(!defined(&lt;span class="string"&gt;'GETID3_INCLUDEPATH'&lt;/span&gt;))&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;foreach&lt;/span&gt;&amp;nbsp;(get_included_files()&amp;nbsp;&lt;span class="keyword"&gt;as&lt;/span&gt;&amp;nbsp;&lt;span class="vars"&gt;$key&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;span class="vars"&gt;$val&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;//if&amp;nbsp;(basename($val)&amp;nbsp;==&amp;nbsp;'getid3.php')&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//這行，需要修改成如下程式&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;if&lt;/span&gt;&amp;nbsp;(&lt;span class="func"&gt;basename&lt;/span&gt;(&lt;span class="func"&gt;strtolower&lt;/span&gt;(&lt;span class="vars"&gt;$val&lt;/span&gt;))&amp;nbsp;==&amp;nbsp;&lt;span class="string"&gt;'getid3.php'&lt;/span&gt;)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;define(&lt;span class="string"&gt;'GETID3_INCLUDEPATH'&lt;/span&gt;,&amp;nbsp;dirname(&lt;span class="vars"&gt;$val&lt;/span&gt;).DIRECTORY_SEPARATOR);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="keyword"&gt;break&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;}&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
以上三步驟，就可將&lt;a href="http://getid3.sourceforge.net/" target="_blank" title="getID3"&gt;getID3&lt;/a&gt;變成&lt;a href="http://codeigniter.com/" target="_blank" title="php framework codeigniter"&gt;CodeIgniter&lt;/a&gt;可使用的library了。
&lt;br /&gt;
&lt;br /&gt;
在&lt;a href="http://codeigniter.com/" target="_blank" title="php framework codeigniter"&gt;CodeIgniter&lt;/a&gt;中如何使用&lt;a href="http://getid3.sourceforge.net/" target="_blank" title="getID3"&gt;getID3&lt;/a&gt;呢？範例如下…
&lt;br /&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;
&lt;div class="bar"&gt;
&lt;/div&gt;
&lt;ol class="dp-c" start="1"&gt;
&lt;li class="alt"&gt;&lt;span class="vars"&gt;$this&lt;/span&gt;-&amp;gt;load-&amp;gt;library(‘yourdir/getid3’);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="comment"&gt;//$this-&amp;gt;getid3-&amp;gt;method();&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="comment"&gt;//設定編碼（請參見上一篇文章說明）&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="vars"&gt;$this&lt;/span&gt;-&amp;gt;getid3-&amp;gt;encoding&amp;nbsp;=&amp;nbsp;&lt;span class="string"&gt;'UTF-8'&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="vars"&gt;$this&lt;/span&gt;-&amp;gt;getid3-&amp;gt;encoding_id3v1&amp;nbsp;=&amp;nbsp;&lt;span class="string"&gt;'BIG-5'&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="comment"&gt;//取得檔案資訊&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="vars"&gt;$info&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="vars"&gt;$this&lt;/span&gt;-&amp;gt;getid3-&amp;gt;analyze(&lt;span class="vars"&gt;$filename&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;a class="c_head" href=""&gt;參考資料&lt;/a&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kingfff.blogspot.com/2011/09/getid3.html" target="_blank" title="getID3的注意事項與圖檔檢查範例"&gt;getID3的注意事項與圖檔檢查範例&lt;/a&gt;
&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kingfff.blogspot.com/2011/09/how-to-check-upload-picture-by-php.html" target="_blank" title="如何檢查上傳圖檔"&gt;如何檢查上傳圖檔 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-2675520504649232781?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ngAC27K6VLPq5_VcVVGCbBs3n8Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ngAC27K6VLPq5_VcVVGCbBs3n8Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ngAC27K6VLPq5_VcVVGCbBs3n8Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ngAC27K6VLPq5_VcVVGCbBs3n8Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/aG5VB7GhkK0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/2675520504649232781/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=2675520504649232781" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2675520504649232781?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/2675520504649232781?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/aG5VB7GhkK0/getid3codeignitelibrary.html" title="將getID3包成CodeIgniter的library" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/09/getid3codeignitelibrary.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUMRnwyfSp7ImA9WhdWEk4.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-7251458454385222454</id><published>2011-09-05T22:18:00.000+08:00</published><updated>2011-09-05T22:18:07.295+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-05T22:18:07.295+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>getID3的注意事項與圖檔檢查範例</title><content type="html">上次介紹&lt;a href="http://kingfff.blogspot.com/2011/09/how-to-check-upload-picture-by-php.html"&gt;如何使用getID3來檢查使用者上傳的圖檔&lt;/a&gt;。判斷方式雖然簡單…不過，個人在使用上覺得有些事情要稍微注意。針對傳回的array以及我在讀取mp3內的中文tag時遇到的狀況做說明。最後並附上測試項目的結果…
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="c_head"&gt;
array structure&lt;/div&gt;
在&lt;a title="getID3" href="http://getid3.sourceforge.net/" target="_blank"&gt;getID3&lt;/a&gt;範例 - demo.basic.php的程式碼中，最後有一段程式和程式註解，節錄如下…
&lt;br /&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;
&lt;div class="bar"&gt;
&lt;/div&gt;
&lt;ol class="dp-c" start="1"&gt;
&lt;li class="alt"&gt;&lt;span class="comment"&gt;/*&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="comment"&gt;&amp;nbsp;Optional:&amp;nbsp;copies&amp;nbsp;data&amp;nbsp;from&amp;nbsp;all&amp;nbsp;subarrays&amp;nbsp;of&amp;nbsp;[tags]&amp;nbsp;into&amp;nbsp;[comments]&amp;nbsp;so&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="comment"&gt;&amp;nbsp;metadata&amp;nbsp;is&amp;nbsp;all&amp;nbsp;available&amp;nbsp;in&amp;nbsp;one&amp;nbsp;location&amp;nbsp;for&amp;nbsp;all&amp;nbsp;tag&amp;nbsp;formats&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="comment"&gt;&amp;nbsp;metainformation&amp;nbsp;is&amp;nbsp;always&amp;nbsp;available&amp;nbsp;under&amp;nbsp;[tags]&amp;nbsp;even&amp;nbsp;if&amp;nbsp;this&amp;nbsp;is&amp;nbsp;not&amp;nbsp;called&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="comment"&gt;*/&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;getid3_lib::CopyTagsToComments(&lt;span class="vars"&gt;$ThisFileInfo&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;a name='more'&gt;&lt;/a&gt;
當下，並不太懂他真正的含意。不過，後來因為要瞭解&lt;a title="getID3" href="http://getid3.sourceforge.net/" target="_blank"&gt;getID3&lt;/a&gt;傳回的array結構，於是翻了一下內附的說明文件structure.txt。發現裡面有如下的解釋，就比較能瞭解了...
&lt;br /&gt;
&lt;div class="myprogcode"&gt;
If you want to merge all available tags (for example, ID3v2 + ID3v1) into one array, you can call getid3_lib::CopyTagsToComments($ThisFileInfo) and you'll then have ['comments'] and ['comments_html'] which are identical to ['tags'] and ['tags_html'] except the array is one dimension shorter (no tag type array keys). For example, artist is: ['tags_html']['id3v1']['artist'][0] or ['comments_html']['artist'][0]
&lt;/div&gt;
附註：在測試時，我發現他的變數名稱定義似乎有點問題。在讀取不同的檔案時，有看過 ['title']，有的卻是['Title']。
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="c_head"&gt;
中文問題&lt;/div&gt;
&lt;a title="getID3" href="http://getid3.sourceforge.net/" target="_blank"&gt;getID3&lt;/a&gt;可以讀取mp3內的ID3資訊（ID3v2 &amp;amp; ID3v1）。如果，您的mp3檔案中的ID3資訊是中文時，採用預設值（ISO-8859-1）讀取，將會得到亂碼。
&lt;br /&gt;
&lt;br /&gt;
翻了一下&lt;a title="getID3" href="http://getid3.sourceforge.net/" target="_blank"&gt;getID3&lt;/a&gt;的code，裡面有定義各種檔案、欄位所採用的編碼。其中，他提供兩個設定讓呼叫者改變。
&lt;br /&gt;
&lt;br /&gt;
以我測試用的mp3檔案為例，裡面的中文字是big5編碼。因此，我加上下列的處理後，讀出來的中文就正常了。（當然，要看您檔案內的編碼做調整）
&lt;br /&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;
&lt;div class="bar"&gt;
&lt;/div&gt;
&lt;ol class="dp-c" start="1"&gt;
&lt;li class="alt"&gt;&lt;span class="vars"&gt;$getID3&lt;/span&gt;-&amp;gt;encoding=&lt;span class="string"&gt;'UTF-8'&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="comment"&gt;//請依照自己檔案條件修改&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="vars"&gt;$getID3&lt;/span&gt;-&amp;gt;encoding_id3v1=&lt;span class="string"&gt;'BIG-5'&lt;/span&gt;;&amp;nbsp;&lt;span class="comment"&gt;//請依照自己檔案條件修改&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
附註：如果您的環境是unix-like，mp3檔案又是中文檔案時，請記得先做好OS的編碼設定。
&lt;br /&gt;
&lt;br /&gt;
最後，附上一張以&lt;a title="getID3" href="http://getid3.sourceforge.net/" target="_blank"&gt;getID3&lt;/a&gt;所附的範例程式 - demo.browse.php ，讀取用來測試之用的檔案結果。
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-LoBGBIGVgJw/TmSnHF8Om5I/AAAAAAAAB2A/dZiEWXhvG0c/s1600/demo_getI3.png" imageanchor="1"&gt;&lt;img border="0"  width="500" src="http://1.bp.blogspot.com/-LoBGBIGVgJw/TmSnHF8Om5I/AAAAAAAAB2A/dZiEWXhvG0c/s500/demo_getI3.png" title="利用getid3檢查使用者上傳的檔案" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
由上而下的五個檔案，分別測試的項目和結果為…&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;png圖檔，但是亂改binary。&lt;br /&gt;結果出現warning&amp;nbsp;&lt;/li&gt;
&lt;li&gt;正常png圖檔。&lt;/li&gt;
&lt;li&gt;利用&lt;a title="何謂愛的機器" href="http://www.google.com/#&amp;q=愛的機器" target="_blank"&gt;愛的機器&lt;/a&gt;，動過手腳後的png圖檔。&lt;br /&gt;結果出現warning&amp;nbsp;&lt;/li&gt;
&lt;li&gt;假冒png圖檔的zip（將.zip改名成.png）。&lt;br /&gt;結果被判斷出檔案為.zip&amp;nbsp;&lt;/li&gt;
&lt;li&gt;檔名為中文的mp3檔案。&lt;br /&gt;因為沒做上述的設定，將ID3v1編碼改為big5，因此變成亂碼。&lt;br /&gt;ID3v2因為內定採用UTF8，所以沒問題&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-7251458454385222454?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/h6u5xLIO5fcyCd8eI0MaA5wWUGQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h6u5xLIO5fcyCd8eI0MaA5wWUGQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/h6u5xLIO5fcyCd8eI0MaA5wWUGQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h6u5xLIO5fcyCd8eI0MaA5wWUGQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/hMbC3XkrfNc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/7251458454385222454/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=7251458454385222454" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/7251458454385222454?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/7251458454385222454?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/hMbC3XkrfNc/getid3.html" title="getID3的注意事項與圖檔檢查範例" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-LoBGBIGVgJw/TmSnHF8Om5I/AAAAAAAAB2A/dZiEWXhvG0c/s72-c/demo_getI3.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/09/getid3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQNQXkycCp7ImA9WhdVEkk.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-7730131749317134053</id><published>2011-09-04T19:05:00.000+08:00</published><updated>2011-09-17T15:26:30.798+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-17T15:26:30.798+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="登山" /><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><category scheme="http://www.blogger.com/atom/ns#" term="GPS軌跡" /><category scheme="http://www.blogger.com/atom/ns#" term="百岳" /><category scheme="http://www.blogger.com/atom/ns#" term="地圖" /><title>嘉明湖</title><content type="html">&lt;span style="border: 1px solid rgb(203, 203, 203); float: left;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087779305/" title="嘉明湖全景照"&gt;&lt;img width="500" height="110" src="http://farm7.static.flickr.com/6066/6087779305_27008e52f5.jpg" alt="嘉明湖全景照" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;嘉明湖全景照&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;
趁者暑假的最後一個週末，終於造訪了台灣必去的100個景點之一『天使的眼-淚嘉明湖』。不過，卻由於熱帶氣漩轉變為南瑪都颱風，行進路線也由原本的往日本轉為直撲台灣南部。最後，走三天的嘉明湖行程就改為兩天！所幸，運氣非常的好。不但欣賞到高山的滿天星斗、走過向陽山、三叉山這兩座百岳。最後，嘉明湖也特別由雲霧中露臉讓我們欣賞  :)
&lt;br /&gt;&lt;br /&gt;
每每開山路時，會有種敬佩台灣公路養護單位的心情。因為，在每次颱風、大雨造成的損害後，他們都有辦法再度修復，由顛頗泥濘的道路，變成平坦好走的柏油路。幾年前由台南進，經南橫公路&lt;a href="http://www.flickr.com/photos/kingf/sets/72157603670132742/"&gt;爬南橫三星&lt;/a&gt;時感觸最深。在那之前，曾開車行經南橫公路，當時的路況很差，很多路段的路面非常顛波，路旁也無護欄。沒想到，再次經過南橫公路時，居然全部變成了平坦的柏油路。
&lt;br /&gt;&lt;br/&gt;
不過，近幾年天然災害越來越強烈，台灣山區的公路養護速度似乎慢慢無法跟上。這次坐夜車去嘉明湖途中，經過了蘇花以及南橫，沿途很多施工處，需要放慢車速緩緩前進…最後，我們也因為坍下來橫躺於南橫公路上的樹，而提早開始我們的嘉明湖行程。
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087560867/" title="倒樹"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6071/6087560867_c07cec76bc.jpg" alt="倒樹" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;嘉明湖的行程，因為這棵樹，提早由此開始…&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
這次做行程記錄我使用&lt;a target="_blank" href="http://www.oruxmaps.com/" title="OruxMaps"&gt;OruxMaps&lt;/a&gt;、和&lt;a target="_blank" href="http://mytracks.appspot.com/" title="MyTracks"&gt;MyTracks&lt;/a&gt;（&lt;a href="http://kingfff.blogspot.com/2011/06/androidgps-my-tracks.html" title="MyTracks介紹"&gt;我的介紹&lt;/a&gt;）這兩套軟體。&lt;a target="_blank" href="http://www.oruxmaps.com/" title="OruxMaps"&gt;OruxMaps&lt;/a&gt;這套android系統的免費gps軟體，功能非常的強。不但可以提供離線地圖，也提供route、路線圖等等的功能。晚點再整理、介紹一下…
&lt;a name='more'&gt;&lt;/a&gt;
&lt;br /&gt;&lt;br /&gt;
等領隊在向陽辦好入山證等手續後，進入松濤步道。林道算平坦好走，其間會經過一處關山大崩壁觀景台，此處風景不錯，可以眺望對面的關山和南橫三星。
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087875559/" title="DSC_0711"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6078/6087875559_e36a724736.jpg" alt="DSC_0711" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;關山大崩壁觀景台的景色&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
原以為八月早已經過了高山花季，沒想到，沿途依舊看到不少野花。隨者越爬越高，海拔的變化，植物的分佈也明顯的跟者改變～可惜，我只認識位於上了稜線之後的沙蔘，其他所觀察到的花朵、植物，都不認識。
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087660691/" title="不知名的植物"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6085/6087660691_38a5ffe168.jpg" alt="不知名的植物" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;不知名野花。很像菊花～&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087680491/" title="不知名的植物"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6085/6087680491_f37074d183.jpg" alt="不知名的植物" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;不知名野花，沿途可見&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
不到兩小時抵達向陽山屋。向陽山屋裡外都是木頭打造。坐在向陽山屋裡可以聞到一股淡淡的木頭味道。原定隔天下山途中會住在向陽山屋，沒想到…隔天清晨者南瑪都颱風海上警報發佈，我們必須下山，無緣住在向陽山屋。
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6088208568/" title="向陽山屋"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6200/6088208568_03df240bb0.jpg" alt="向陽山屋" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;向陽山屋&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6088213130/" title="向陽山屋"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6081/6088213130_40910c1905.jpg" alt="向陽山屋" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;向陽山屋&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
過了向陽山屋後，不妨放慢腳步欣賞一下位於山屋後方的大樹～
&lt;br /&gt;&lt;br /&gt;
向陽山屋前的山路算是比較平緩的上升。過了向陽山屋後，上升坡度明顯變陡。過了黑水塘（位於路旁岔路，請見下方的地圖。該處的視野不錯）後的上坡，開始考驗登山客的體力。辛苦總是有代價的，過了此段進入稜線，坡度變緩外，可以欣賞大山、開闊心胸。我想，這也是登山吸引人之處～
&lt;div style="width:346px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087673463/" title="黑水塘"&gt;&lt;img width="332" height="500" src="http://farm7.static.flickr.com/6195/6087673463_39d1ea80b3.jpg" alt="黑水塘" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;黑水塘，此處的view非常的好&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6088422350/" title="關山？"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6185/6088422350_25a9bb5197.jpg" alt="關山？" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;攝於黑水塘&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
可惜的是，我們上了稜線後卻起了雲。霧氣一會來一會散，抵達嘉明湖途中的著名地標向陽名樹時剛好就是起霧時。也因此，沒欣賞到向陽大崩壁。稜線兩邊的氣流強度不同，面向向陽大崩壁那一處的雲霧被另一邊雲霧所壓制，因此看到一個有趣的景色！
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087722477/" title="往向陽山途中"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6209/6087722477_9ce1e7cbcc.jpg" alt="往向陽山途中" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;因為左邊風勢比較強，讓右邊的雲霧一直被蓋下去。稜線兩邊因此不同的景色&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087876661/" title="向陽名樹"&gt;&lt;img width="500" height="332" src="http://farm7.static.flickr.com/6205/6087876661_70dc8dc3a4.jpg" alt="向陽名樹" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;向陽名樹&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
有道是『來得早不如來的巧』，雖然我們抵達向陽山山頂的時間晚於其他隊友，卻剛好遇到雲霧散去。站在百岳之一的向陽山頂上，眺望四周，真令人心曠神怡。
&lt;br/&gt;&lt;br/&gt;
回到向陽山岔路，不用太久就可以抵達嘉明湖避難山屋了。就在我們進入嘉明湖避難山屋後不久，下了一場陣雨…
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6088319012/" title="嘉明湖避難山屋"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6080/6088319012_787d703977.jpg" alt="嘉明湖避難山屋" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;嘉明湖避難山屋&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
隔天清晨三點半吃完早餐後出發。出發當時霧很濃，在頭燈的照射下只覺得霧中充滿者水氣…不經擔心，是否颱風已經接近？想到待會的天氣可能不太理想，只好放棄我上山下海的伙伴D90。
&lt;br /&gt;&lt;br /&gt;
沒想到，半小時後雲霧全散。在向陽山北峰上欣賞滿天星斗。當中，最引人注目的星座，莫過於冬天才出現的獵人星座。再等待後面腳程較慢的伙伴跟上來時，使用&lt;a target="_blank" href="http://www.google.com/mobile/skymap/"  title="Google Sky Map "&gt;Google Sky Map&lt;/a&gt;尋找星座。&lt;a  target="_blank"href="http://www.google.com/mobile/skymap/"  title="Google Sky Map "&gt;Google Sky Map&lt;/a&gt;真是觀星的好工具！
&lt;br /&gt;&lt;br /&gt;
嘉明湖避難山屋到嘉明湖這段路程，對於輕裝的我們來說算是好走，難度不高。不過，途中的向陽北峰依舊是一個小考驗。因為過了向陽北峰後馬上是陡下（回程就是陡上）。摸黑行走時要注意腳下…高度一直降，看者對面的三叉山越來越高…想到待會還要在爬上去…  XD
&lt;div style="width:295px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087785571/" title="向陽山北峰"&gt;&lt;img width="281" height="500" src="http://farm7.static.flickr.com/6071/6087785571_00b867ea22.jpg" alt="向陽山北峰" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;由嘉明湖回到嘉明湖避難山屋，需要通過向陽山北峰陡上的考驗。&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
當東方出現魚肚白，漸漸接近三叉山時天氣再度變化。由三叉山岔路到三叉山三角點間遇到了濃霧，當時的能見度約十公尺，所幸腳下的山徑很明顯。除了濃霧，風也異常的強。難怪領隊由昨天到嘉明湖山屋後，就一直提醒大家三叉山上的風勢很強，今天一定要注意防風與保暖。
&lt;br/&gt;&lt;br/&gt;
離開三叉山三角點不久，就到了嘉明湖岔路。抵達嘉明湖時只見雲霧不見湖……
&lt;br/&gt;&lt;br/&gt;
幸運之神再度降臨，幾分鐘後雲霧散去，嘉明湖露出臉來。只聽到周圍出現高興的歡呼聲～還聽到有人說要去環湖一圈
&lt;object type="application/x-shockwave-flash" width="400" height="225" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"&gt; &lt;param name="flashvars" value="intl_lang=en-us&amp;photo_secret=b9a56d089f&amp;photo_id=6087436219"&gt;&lt;/param&gt; &lt;param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"&gt;&lt;/param&gt; &lt;param name="bgcolor" value="#000000"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&amp;photo_secret=b9a56d089f&amp;photo_id=6087436219" height="225" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087777515/" title="嘉明湖全景照"&gt;&lt;img width="500" height="110" src="http://farm7.static.flickr.com/6087/6087777515_871957c260.jpg" alt="嘉明湖全景照" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;薄霧中的嘉明湖全景照&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
山上的天氣總是快速的變化，特別是外海還有個南瑪都颱風。雲霧一直來來去去，嘉明湖也斷斷續續的被雲霧所籠罩。離開前都無緣看到映者藍天白雲，如藍寶石般的嘉明湖。可能也是這樣，高喊環湖的人最後沒有動力去實踐吧 XD
&lt;br/&gt;&lt;br/&gt;
離開嘉明湖時，回頭看剛剛拍下狼狽登頂照的三叉山，已經處於藍天中。真可惜呀～百岳之一的三叉山是一等三角點，上面的視野應該不錯，卻無緣欣賞！
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6088328632/" title="三叉山"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6068/6088328632_69540a3d23.jpg" alt="三叉山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;放晴的三叉山&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br/&gt;
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6087783181/" title="往三叉山"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6068/6087783181_8a5c07981a.jpg" alt="往三叉山" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;回程時，另一個隊伍正準備上三叉山&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
就這樣，循者原路回去。邊走邊欣賞附近的高山，一方面讚嘆眼前的美景，一方面也驚恐大自然的破壞力。看看附近的山頭，多有崩塌的狀況。露出的是土黃色而不是記憶中應有的綠色。
&lt;div style="width:514px;" class="imageblock"&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/kingf/6088330150/" title="嘉明湖避難山屋"&gt;&lt;img width="500" height="281" src="http://farm7.static.flickr.com/6076/6088330150_de2e7a6838.jpg" alt="嘉明湖避難山屋" style="border: 0pt none ;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;嘉明湖避難山屋和向陽山&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;br /&gt;
一回到嘉明湖山屋，知道已經發佈南瑪都颱風海上颱風警報。趕緊收拾背包後就下山了…原訂三天的嘉明湖之行，就在第二天下午結束…回到車上後，雨勢開始變大…
&lt;br/&gt;&lt;br/&gt;
每次爬高山，每每都會有點高山症的狀況。狀況一來，多少會影響體力，走起來就不是很順。晚上入睡前還需要調整呼吸後才好入睡…這次爬嘉明湖，特別準備了藏藥&lt;a href="http://zh.wikipedia.org/wiki/%E7%BA%A2%E6%99%AF%E5%A4%A9"&gt;紅景天&lt;/a&gt;，試試看是否如傳說中的那麼神奇？行前兩週就開始每天食用，也帶一些到山上…
&lt;br/&gt;&lt;br/&gt;
以往在高山上遇到比較陡的上坡時，心跳總是會比較快。在山屋總是只能躺在床上調整呼吸，食慾也不如平常。這次，完全沒這些狀況…到嘉明湖山屋後，還可以四處晃晃…睡覺時也不會頭痛了！個人覺得&lt;a href="http://zh.wikipedia.org/wiki/%E7%BA%A2%E6%99%AF%E5%A4%A9"&gt;紅景天&lt;/a&gt;對於自己蠻有效果的。最後那段林道，居然可以小快步回到登山口，還追上早一步下山的隊伍… XD
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;hr&gt;&lt;span class="c_head"&gt;嘉明湖、向陽山、三叉山照片&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/kingf/sets/72157627534720674/" target="_blank" title="嘉明湖、向陽山、三叉山"&gt;&lt;b&gt;嘉明湖、向陽山、三叉山 完整照片欣賞&lt;/b&gt;&lt;/a&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;h1&gt;嘉明湖、向陽山、三叉山高度表&lt;/h1&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ifAyodlQpEw/TlueFoitpcI/AAAAAAAAB14/3tGM9JUy_3s/s1600/%25E5%2598%2589%25E6%2598%258E%25E6%25B9%2596-2011-08-26_height.png" imageanchor="1" style=""&gt;&lt;img border="0" height="222" width="400" src="http://1.bp.blogspot.com/-ifAyodlQpEw/TlueFoitpcI/AAAAAAAAB14/3tGM9JUy_3s/s400/%25E5%2598%2589%25E6%2598%258E%25E6%25B9%2596-2011-08-26_height.png" title="嘉明湖、向陽山、三叉山高度表" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;h1&gt;嘉明湖地圖、GPS航跡圖&lt;/h1&gt;
&lt;iframe width="100%" height="420" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com.tw/maps?f=q&amp;amp;source=s_q&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E5%2598%2589%25E6%2598%258E%25E6%25B9%2596-2011-08-26.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=5.945918,7.174072&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x346f0b770d1be9fb:0x95842c0f57350047,0,0x346fb8d2a52a0401:0xcf6871e475b3f2ff&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=23.271312,121.007023&amp;amp;spn=0.066232,0.082569&amp;amp;z=13&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;small&gt;&lt;a href="http://maps.google.com.tw/maps?f=q&amp;amp;source=embed&amp;amp;hl=zh-TW&amp;amp;geocode=&amp;amp;q=https:%2F%2Fsites.google.com%2Fsite%2Fkingff%2Ftrack%2F%25E5%2598%2589%25E6%2598%258E%25E6%25B9%2596-2011-08-26.kml&amp;amp;aq=&amp;amp;sll=23.63446,120.970459&amp;amp;sspn=5.945918,7.174072&amp;amp;vpsrc=6&amp;amp;brcurrent=3,0x346f0b770d1be9fb:0x95842c0f57350047,0,0x346fb8d2a52a0401:0xcf6871e475b3f2ff&amp;amp;ie=UTF8&amp;amp;t=p&amp;amp;ll=23.271312,121.007023&amp;amp;spn=0.066232,0.082569&amp;amp;z=13" style="color:#0000FF;text-align:left"&gt;檢視較大的地圖&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-7730131749317134053?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IO8zt6f1NJkd-BTqw6P_hNLBpEQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IO8zt6f1NJkd-BTqw6P_hNLBpEQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IO8zt6f1NJkd-BTqw6P_hNLBpEQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IO8zt6f1NJkd-BTqw6P_hNLBpEQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/Um6uC0BGirw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/7730131749317134053/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=7730131749317134053" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/7730131749317134053?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/7730131749317134053?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/Um6uC0BGirw/jiaming-lake.html" title="嘉明湖" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm7.static.flickr.com/6066/6087779305_27008e52f5_t.jpg" height="72" width="72" /><thr:total>0</thr:total><georss:featurename>957 Taiwan Taitung County Haiduan Township嘉明湖</georss:featurename><georss:point>23.292908 121.034263</georss:point><georss:box>23.2345705 120.955299 23.3512455 121.113227</georss:box><feedburner:origLink>http://kingfff.blogspot.com/2011/09/jiaming-lake.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UNSXwyfyp7ImA9WhdWEEw.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-4764887407073647900</id><published>2011-09-03T11:07:00.003+08:00</published><updated>2011-09-03T11:08:18.297+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-03T11:08:18.297+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WEB" /><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>如何檢查上傳圖檔</title><content type="html">網站如果要開放讓使用者上傳圖檔，通常都在上傳介面中先做副檔名檢查，做第一層的篩選。但基於資安的考量，還是無法相信使用者上傳的圖檔是沒問題的。尚須對這些上傳到伺服器上的圖檔做檢查。
&lt;br /&gt;&lt;br /&gt;
我們假設圖檔可能會有下列的狀況，要能檢查出來&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;圖檔的附檔名是否符合檔案實際格式？&lt;br /&gt;如，將 .zip 改名為 .png&lt;/li&gt;
&lt;li&gt;圖檔是否被塞入其他資訊？&lt;br /&gt;如，利用&lt;a target="_blank" href="http://www.google.com/#&amp;amp;q=愛的機器" title="何謂愛的機器"&gt;愛的機器&lt;/a&gt;，做出加工的圖檔&lt;/li&gt;
&lt;/ol&gt;
最基本的判斷方式，莫過於讀取圖檔head內的資訊來做判斷與檢查。
&lt;br /&gt;&lt;br /&gt;
以php而言，最簡單的方式可以採用&lt;a target="_blank" href="http://php.net/manual/en/function.getimagesize.php" title="PHP getimagesize()"&gt;getimagesize()&lt;/a&gt;來取得圖檔相關資訊來做判斷。以上述第一個狀況而言，&lt;a target="_blank" href="http://php.net/manual/en/function.getimagesize.php" title="PHP getimagesize()"&gt;getimagesize()&lt;/a&gt;會回傳FALSE，就可以檢查出來。
&lt;br /&gt;&lt;br /&gt;不過，第二個狀況就檢查不出來，因為他算是合法的圖檔。使用&lt;a target="_blank" href="http://php.net/manual/en/function.getimagesize.php" title="PHP getimagesize()"&gt;getimagesize()&lt;/a&gt;會得到如下的資訊…
&lt;a name='more'&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;
&lt;div class="bar"&gt;
&lt;/div&gt;
&lt;ol class="dp-c" start="1"&gt;
&lt;li class="alt"&gt;&lt;span class="keyword"&gt;array&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;0&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;120&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;1&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;92&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;2&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;3&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;3&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;&lt;span class="string"&gt;'width="120"&amp;nbsp;height="92"'&lt;/span&gt;&amp;nbsp;(length=23)&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'bits'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;8&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'mime'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;&lt;span class="string"&gt;'image/png'&lt;/span&gt;&amp;nbsp;(length=9)&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
要能檢測出第二個項目或類似的狀況，除了head內的資訊外，尚須配合實際讀取圖檔內容來比對。此時，可以利用&lt;a target="_blank" href="http://getid3.sourceforge.net/" title="getID3"&gt;getID3&lt;/a&gt;。
&lt;br /&gt;&lt;br /&gt;
誠如&lt;a target="_blank" href="http://getid3.sourceforge.net/" title="getID3"&gt;getID3&lt;/a&gt;官方網站上的自我介紹 『getID3() is a PHP script that extracts useful information from MP3s &amp;amp; other multimedia file formats』。我們藉由&lt;a target="_blank" href="http://getid3.sourceforge.net/" title="getID3"&gt;getID3&lt;/a&gt;讀取出圖檔的相關資訊，然後做判斷、檢查圖檔是否正常。
&lt;br /&gt;
&lt;br /&gt;
&lt;a target="_blank" href="http://getid3.sourceforge.net/" title="getID3"&gt;getID3&lt;/a&gt;的使用非常簡單，以官方的範例程式 demo.basic.php 舉例，三行程式碼就可以取得 /tmp/upload/lovemachine00.png 的圖檔資訊了。簡單吧！
&lt;br /&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;
&lt;div class="bar"&gt;
&lt;/div&gt;
&lt;ol class="dp-c" start="1"&gt;
&lt;li class="alt"&gt;&lt;span class="comment"&gt;//&amp;nbsp;include&amp;nbsp;getID3()&amp;nbsp;library&amp;nbsp;(can&amp;nbsp;be&amp;nbsp;in&amp;nbsp;a&amp;nbsp;different&amp;nbsp;directory&amp;nbsp;if&amp;nbsp;full&amp;nbsp;path&amp;nbsp;is&amp;nbsp;specified)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="keyword"&gt;require_once&lt;/span&gt;(&lt;span class="string"&gt;'../getid3/getid3.php'&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="comment"&gt;//&amp;nbsp;Initialize&amp;nbsp;getID3&amp;nbsp;engine&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="vars"&gt;$getID3&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="keyword"&gt;new&lt;/span&gt;&amp;nbsp;getID3;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="comment"&gt;//&amp;nbsp;Analyze&amp;nbsp;file&amp;nbsp;and&amp;nbsp;store&amp;nbsp;returned&amp;nbsp;data&amp;nbsp;in&amp;nbsp;$ThisFileInfo&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="vars"&gt;$ThisFileInfo&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="vars"&gt;$getID3&lt;/span&gt;-&amp;gt;analyze(&lt;span class="string"&gt;'/tmp/upload/lovemachine00.png'&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
如果被檢查的圖檔有異常，&lt;a target="_blank" href="http://getid3.sourceforge.net/" title="getID3"&gt;getID3&lt;/a&gt;回傳的array中，會有['warning']。因此，可以利用此資訊做判斷上的參考。接下來的判斷與應用，就看各自發揮了…
&lt;br /&gt;&lt;br /&gt;
我也曾做個測試，亂改正常圖檔的binary內容，再利用&lt;a target="_blank" href="http://getid3.sourceforge.net/" title="getID3"&gt;getID3&lt;/a&gt;分析，也會有['warning']。
&lt;br /&gt;&lt;br /&gt;
最後，附上以var_dump呈現&lt;a target="_blank" href="http://getid3.sourceforge.net/" title="getID3"&gt;getID3&lt;/a&gt;回傳的內容。請注意第28行處['warning']的內容！&lt;br /&gt;
附註：原始資訊太多，內容我有做些刪除與調整&lt;br /&gt;
&lt;div class="dp-highlighter" id="hlDiv"&gt;
&lt;div class="bar"&gt;
&lt;/div&gt;
&lt;ol class="dp-c" start="1"&gt;
&lt;li class="alt"&gt;&lt;span class="keyword"&gt;array&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'GETID3_VERSION'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;&lt;span class="string"&gt;'1.9.1-20110810'&lt;/span&gt;&amp;nbsp;(length=14)&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'filesize'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;521399&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'filename'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;&lt;span class="string"&gt;'lovemachine00.png'&lt;/span&gt;&amp;nbsp;(length=17)&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="string"&gt;'filepath'&lt;/span&gt;&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;&lt;span class="string"&gt;'/tmp/upload/&amp;nbsp;(length=16)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;filenamepath&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;/tmp/upload/lovemachine00.png&lt;span class="string"&gt;'&amp;nbsp;(length=34)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;avdataoffset&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;0&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;avdataend&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;521399&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;fileformat&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;png&lt;span class="string"&gt;'&amp;nbsp;(length=3)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;video&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;dataformat&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;png&lt;span class="string"&gt;'&amp;nbsp;(length=3)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;lossless&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;boolean&amp;nbsp;false&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;resolution_x&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;120&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;resolution_y&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;92&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;bits_per_sample&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;compression_ratio&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;float&amp;nbsp;47.228170289855&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;tags&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;png&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Title&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Software&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;warning&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;Unhandled&amp;nbsp;chunk&amp;nbsp;type:&amp;nbsp;r60=&lt;span class="string"&gt;'&amp;nbsp;(length=26)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;encoding&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;UTF-8&lt;span class="string"&gt;'&amp;nbsp;(length=5)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;mime_type&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;image/png&lt;span class="string"&gt;'&amp;nbsp;(length=9)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;png&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;IHDR&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;header&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;width&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;120&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;height&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;92&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;raw&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;compression_method_text&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;deflate/inflate&lt;span class="string"&gt;'&amp;nbsp;(length=15)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;color_type&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;PLTE&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;header&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;2629661&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;12559029&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;9390909&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;14665142&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;3878976&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;14723760&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;14928859&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;11834011&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;14665936&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;6435882&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;14459822&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;124&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;15458279&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;125&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;15453903&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;126&amp;nbsp;=&amp;gt;&amp;nbsp;int&amp;nbsp;15190999&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;more&amp;nbsp;elements...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;tEXt&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;header&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;keyword&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;Software&lt;span class="string"&gt;'&amp;nbsp;(length=8)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;text&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;ViX&lt;span class="string"&gt;'&amp;nbsp;(length=3)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;comments&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Title&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Software&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;IDAT&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;IEND&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;header&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;r60=&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;header&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;encoding&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;UTF-8&lt;span class="string"&gt;'&amp;nbsp;(length=5)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;tags_html&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;png&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Title&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Software&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;comments&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Title&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;ishiguro04.png&lt;span class="string"&gt;'&amp;nbsp;(length=14)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Software&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;ViX&lt;span class="string"&gt;'&amp;nbsp;(length=3)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;comments_html&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Title&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;ishiguro04.png&lt;span class="string"&gt;'&amp;nbsp;(length=14)&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;Software&lt;span class="string"&gt;'&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class=""&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;array&lt;/span&gt;&amp;nbsp;&lt;/li&gt;
&lt;li class="alt"&gt;&lt;span class="string"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&amp;nbsp;=&amp;gt;&amp;nbsp;string&amp;nbsp;'&lt;/span&gt;ViX'&amp;nbsp;(length=3)&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-4764887407073647900?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CXNVAEihr5NeWJxtUPWkiaNeR3E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CXNVAEihr5NeWJxtUPWkiaNeR3E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CXNVAEihr5NeWJxtUPWkiaNeR3E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CXNVAEihr5NeWJxtUPWkiaNeR3E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/mnfV9q-pk8E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/4764887407073647900/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=4764887407073647900" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/4764887407073647900?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/4764887407073647900?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/mnfV9q-pk8E/how-to-check-upload-picture-by-php.html" title="如何檢查上傳圖檔" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/09/how-to-check-upload-picture-by-php.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AFQHoycCp7ImA9WhdQF0s.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-6627882449825070628</id><published>2011-08-19T21:48:00.002+08:00</published><updated>2011-08-19T21:48:31.498+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-19T21:48:31.498+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="program" /><category scheme="http://www.blogger.com/atom/ns#" term="電腦雜項" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><title>NetBeans中如何正常顯示中文</title><content type="html">&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans IDE 7.0.1&lt;/a&gt;前一陣子出了，順手也一併升級。前幾天，把舊版7.0移除。沒想到，居然把NetBeans IDE 7.0.1的設定檔也給移除了。由6.x一直升級到7.0，我都是這樣做，都沒問題。這次怎會這樣？難道和這個農曆月份有關？ XD&lt;br /&gt;
&lt;br /&gt;
於是，只好重新設定。順便解決&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans&lt;/a&gt;使用Consolas字型時，無法顯示中文的問題。&lt;br /&gt;
&lt;br /&gt;
其實，&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans &lt;/a&gt;可以選擇程式碼顯示的字型。但是，只有選擇某些英文字型時才能正常顯示中文，例如dialoginput這個字型。但，選擇適合用於顯示程式碼的字型 - Consolas時，中文卻變成小方塊般的亂碼，無法正常顯示中文。&lt;br /&gt;
&lt;br /&gt;
為何說微軟的Consolas這字型，適合用於顯示程式碼呢？有興趣的人可以參考下面網頁，就不難瞭解…&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a target="_blank"href="http://zh.wikipedia.org/wiki/Consolas" title="Consolas說明"&gt;Consolas字型介紹&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank"href="http://www.lowing.org/fonts/" title="Monospace/Fixed Width Programmer's Fonts"&gt;適合用於顯示程式碼的字型（Monospace/Fixed Width Programmer's Fonts）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
在同事的協助下，我們倆終於搞定了。讓&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans &lt;/a&gt;可以顯示Consolas字型。可以比較舒服的觀看code了～&lt;br /&gt;
&lt;br /&gt;
完整設定步驟如下…&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span class="c_head"&gt;第一步&lt;/span&gt;&lt;br /&gt;
先察看&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans &lt;/a&gt;是使用的JAVA存放於那個目錄，請打開&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans&lt;/a&gt;的設定檔&lt;br /&gt;
&lt;div class="myprogcode"&gt;C:\Program Files\NetBeans 7.0.1\etc\NetBeans.conf&lt;/div&gt;註：目錄請換成您自己&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans&lt;/a&gt;所在目錄。因我安裝的是&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans IDE 7.0.1&lt;/a&gt;，所以是上述的目錄&lt;br /&gt;
&lt;br /&gt;
找出如下的設定&lt;br /&gt;
&lt;div class="myprogcode"&gt;# Default location of JDK, can be overridden by using --jdkhome &amp;lt;dir&amp;gt;:&lt;br /&gt;
NetBeans _jdkhome="&lt;span style="color: #783f04;"&gt;C:\Program Files\Java\jre6&lt;/span&gt;"&lt;/div&gt;&lt;br /&gt;
&lt;span class="c_head"&gt;第二步&lt;/span&gt;&lt;br /&gt;
到&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans&lt;/a&gt;所使用的java目錄，開啟fontconfig.properties。&lt;br /&gt;
&lt;div class="myprogcode"&gt;C:\Program Files\Java\jre6\lib\fontconfig.properties&lt;/div&gt;註：如果目錄下沒有fontconfig.properties檔案，請複製該目錄下&lt;br /&gt;
fontconfig.properties.src，並改名為fontconfig.properties&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c_head"&gt;第三步&lt;/span&gt;&lt;br /&gt;
在檔案fontconfig.properties的最後，增加下面設定，設定Consolas的實體字型檔&lt;br /&gt;
&lt;div class="myprogcode"&gt;filename.Consolas=CONSOLA.TTF&lt;br /&gt;
filename.Consolas_Bold=CONSOLAB.TTF&lt;br /&gt;
filename.Consolas_Italic=CONSOLAI.TTF&lt;br /&gt;
filename.Consolas_Bold_Italic=CONSOLAZ.TTF&lt;/div&gt;&lt;br /&gt;
修改Search Sequences內的設定，將順序作如下的調整&lt;br /&gt;
&lt;div class="myprogcode"&gt;#sequence.monospaced.x-windows-950=chinese-ms950,alphabetic,dingbats,symbol,chinese-ms950-extb&lt;br /&gt;
sequence.monospaced.x-windows-950=&lt;span style="color: #783f04;"&gt;alphabetic,chinese-ms950&lt;/span&gt;,dingbats,symbol,chinese-ms950-extb&lt;/div&gt;註：我是正體中文，其他中文語系，請改用您自己的中文語系&lt;br /&gt;
&lt;br /&gt;
修改monospaced的相關設定&lt;br /&gt;
&lt;div class="myprogcode"&gt;#monospaced.plain.alphabetic=Courier New&lt;br /&gt;
monospaced.plain.alphabetic=&lt;span style="color: #783f04;"&gt;Consolas&lt;/span&gt;&lt;br /&gt;
monospaced.plain.chinese-ms950=MingLiU&lt;br /&gt;
monospaced.plain.chinese-ms950-extb=MingLiU-ExtB&lt;br /&gt;
monospaced.plain.hebrew=David&lt;br /&gt;
monospaced.plain.japanese=MS Gothic&lt;br /&gt;
monospaced.plain.korean=GulimChe&lt;br /&gt;
&lt;br /&gt;
#monospaced.bold.alphabetic=Courier New Bold&lt;br /&gt;
monospaced.bold.alphabetic=&lt;span style="color: #783f04;"&gt;Consolas Bold&lt;/span&gt;&lt;br /&gt;
monospaced.bold.chinese-ms950=PMingLiU&lt;br /&gt;
monospaced.bold.chinese-ms950-extb=PMingLiU-ExtB&lt;br /&gt;
monospaced.bold.hebrew=David Bold&lt;br /&gt;
monospaced.bold.japanese=MS Gothic&lt;br /&gt;
monospaced.bold.korean=GulimChe&lt;br /&gt;
&lt;br /&gt;
#monospaced.bolditalic.alphabetic=Courier New Italic&lt;br /&gt;
monospaced.italic.alphabetic=&lt;span style="color: #783f04;"&gt;Consolas Italic&lt;/span&gt;&lt;br /&gt;
monospaced.italic.alphabetic=Consolas Italic&lt;br /&gt;
monospaced.italic.chinese-ms950=PMingLiU&lt;br /&gt;
monospaced.italic.chinese-ms950-extb=PMingLiU-ExtB&lt;br /&gt;
monospaced.italic.hebrew=David&lt;br /&gt;
monospaced.italic.japanese=MS Gothic&lt;br /&gt;
monospaced.italic.korean=GulimChe&lt;br /&gt;
&lt;br /&gt;
#monospaced.bolditalic.alphabetic=Courier New Bold Italic&lt;br /&gt;
monospaced.bolditalic.alphabetic=&lt;span style="color: #783f04;"&gt;Consolas Bold Italic&lt;/span&gt;&lt;br /&gt;
monospaced.bolditalic.chinese-ms950=PMingLiU&lt;br /&gt;
monospaced.bolditalic.chinese-ms950-extb=PMingLiU-ExtB&lt;br /&gt;
monospaced.bolditalic.hebrew=David Bold&lt;br /&gt;
monospaced.bolditalic.japanese=MS Gothic&lt;br /&gt;
monospaced.bolditalic.korean=GulimChe&lt;/div&gt;&lt;br /&gt;
&lt;span class="c_head"&gt;第四步&lt;/span&gt;&lt;br /&gt;
最後一步驟，可以說是最重要的…在&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans &lt;/a&gt;中的字型，&lt;strong&gt;請選擇monospaced&lt;/strong&gt;。之前參考的文章，不是沒提到這點，不然就說選擇Consolas………  :(&lt;br /&gt;
&lt;br /&gt;
設定完之後，也就瞭解…為何選擇dialoginput這個字型時，&lt;a target="_blank"href="http://netbeans.org/"&gt;NetBeans &lt;/a&gt;可以正常顯示～&lt;br /&gt;
&lt;br /&gt;
稍微提醒一下，如果您是使用液晶螢幕，作業系統為windows XP，建議您安裝&lt;a target="_blank"href="http://www.microsoft.com/typography/ClearTypePowerToy.mspx" title="ClearType Tuner PowerToy"&gt;ClearType Tuner PowerToy&lt;/a&gt;，取得最佳的顯示效果。如果作業系統為win 7，因為有內建相關功能，就不需要安裝&lt;a target="_blank"href="http://www.microsoft.com/typography/ClearTypePowerToy.mspx" title="ClearType Tuner PowerToy"&gt;ClearType Tuner PowerToy&lt;/a&gt;～&lt;br /&gt;
&lt;br /&gt;
為何會建議安裝&lt;a target="_blank"href="http://www.microsoft.com/typography/ClearTypePowerToy.mspx" title="ClearType Tuner PowerToy"&gt;ClearType Tuner PowerToy&lt;/a&gt;，可以參考微軟的文章 - &lt;a target="_blank"href="http://www.microsoft.com/typography/ClearTypeInfo.mspx" title="ClearType information"&gt; ClearType information&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="c_head"&gt;相關參考文章&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a target="_blank"href="http://zh.wikipedia.org/wiki/Consolas" title="Consolas說明"&gt;Consolas字型介紹&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank"href="http://www.lowing.org/fonts/" title="Monospace/Fixed Width Programmer's Fonts"&gt;適合用於顯示程式碼的字型（Monospace/Fixed Width Programmer's Fonts）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank"href="http://www.microsoft.com/download/en/details.aspx?amp;displaylang=en&amp;displaylang=en&amp;id=17879" title="Consolas Font Pack for Microsoft Visual Studio 2005 or 2008"&gt;Consolas Font Pack for Microsoft Visual Studio 2005 or 2008（微軟 Consolas 字型下載點）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank"href="http://www.javaworld.com.tw/jute/post/view?bid=20&amp;id=87498" title="Java處理中文化問題詳解"&gt;Java處理中文化問題詳解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank"href="http://www.microsoft.com/typography/ClearTypePowerToy.mspx" title="ClearType Tuner PowerToy"&gt;ClearType Tuner PowerToy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank"href="http://www.microsoft.com/typography/ClearTypeInfo.mspx" title="ClearType information"&gt;ClearType information&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-6627882449825070628?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tdmCbfIHCue20QfeblNdFpA_bWM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tdmCbfIHCue20QfeblNdFpA_bWM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tdmCbfIHCue20QfeblNdFpA_bWM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tdmCbfIHCue20QfeblNdFpA_bWM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/8-lTrNYrPCA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/6627882449825070628/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=6627882449825070628" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/6627882449825070628?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/6627882449825070628?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/8-lTrNYrPCA/netbeans.html" title="NetBeans中如何正常顯示中文" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/08/netbeans.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYMRXY7cSp7ImA9WhdQEk8.&quot;"><id>tag:blogger.com,1999:blog-887419469476439699.post-6334745113909887719</id><published>2011-08-13T17:19:00.002+08:00</published><updated>2011-08-13T17:19:44.809+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-13T17:19:44.809+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="攝影" /><title>SONY NEX-C3的小測試</title><content type="html">&lt;span style="border-bottom-color: rgb(203, 203, 203); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(203, 203, 203); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(203, 203, 203); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(203, 203, 203); border-top-style: solid; border-top-width: 1px; float: left;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6006964156/" target="_blank" title="SONY NEX-C3"&gt;&lt;img alt="SONY NEX-C3" height="332" src="http://farm7.static.flickr.com/6144/6006964156_0ba80f89ab.jpg" style="border: 0pt none;" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;SONY NEX-C3 配餅乾鏡&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;年初，說好要買台EVIL的相機給老媽。最先的目標，是銷售很好的Panasonic GF1。還沒做最後的決定時，GF2居然上市了。目標，也自然轉為GF2。特別是GF2的對焦方式，可以利用觸控螢幕來選擇對焦點。這樣的操作方式，對於不善用相機的人來說，應該是蠻方便的。不過，卻也有可能因為操作方式的改變，而不習慣。反而是複雜的操作方式？&lt;br /&gt;
&lt;br /&gt;
等同事預購的Panasonic GF2拿到手後，也特別借來試用看看，對於上述的疑慮，不但沒有找到答案，反而偏向回頭去買GF1。真沒想到，就在此時又傳出Panasonic GF3即將上市。&lt;br /&gt;
&lt;br /&gt;
原以為應該是謠言吧？畢竟GF2才剛出，半年左右怎可能又出現下一版的GF3？除了Panasonic GF3外，也傳出另一台EVIL - SONY NEX-C3也將要上市。基於3C產品，是一代比一代好的想法下（當然是以同等級做比較），又把目前移轉到Panasonic GF3和 SONY NEX-C3。（所以，沒考慮SONY NEX5）&lt;br /&gt;
&lt;br /&gt;
這兩台的規格、價位，應該屬於同一等級。有興趣的人，可以參考這網頁下方的&lt;a href="http://www.techbang.com.tw/posts/6103-primary-three-rise-panasoinc-lumix-gf3-officially-released?page=2" title="Panasonic GF2/GF3/Sony NEX-C3規格比較"&gt;Panasonic GF2/GF3/Sony NEX-C3規格比較&lt;/a&gt;，蠻詳細的。&lt;br /&gt;
&lt;br /&gt;
個人觀點覺得GF3的外型比較好，SONY NEX-C3卻贏在內在。最後會選擇 SONY NEX-C3的主因大概如下…&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;高ISO的表現&lt;/li&gt;
&lt;li&gt;豐富的後製功能&lt;/li&gt;
&lt;li&gt;可拍攝全景照&lt;/li&gt;
&lt;li&gt;提供HDR（高動態照片）&lt;/li&gt;
&lt;li&gt;翻轉式螢幕&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
因為老媽喜歡拍攝花花草草。這樣的攝影題材常需要蹲下去取景、拍攝。如果不想一直蹲蹲、站站，就需要垂直觀景器來輔助。&lt;br /&gt;
&lt;br /&gt;
現在有了翻轉式螢幕，就可降低蹲蹲、站站。況且，人過了一個年紀後，常做蹲蹲、站站的動作，可能會造成頭昏、暈眩…  因此，SONY NEX-C3的翻轉式螢幕，應該是我選擇他最主要的因素。&lt;br /&gt;
&lt;br /&gt;
禮物送出前，當然還是拍了些照片來試試看SONY NEX-C3的效果。只是以自己比較常拍攝的主題作為測試，自然稱不上開箱、評測～～  :)&lt;br /&gt;
&lt;br /&gt;
用NEX3C拍攝全景時，注意到一件事…以前用SONY的小DC拍全景時，習慣用比較快的移動速度來拍攝取得比較好的效果（減少接圖不順）。但使用時NEX3C時，卻需要以比較慢的速度拍攝。否則會出現錯誤訊息而無法拍照。個人猜測，可能是因為EVIL是機器快門吧？！&lt;br /&gt;
&lt;div class="imageblock" style="width: 514px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6008626326/" target="_blank" title="SONY NEX-C3 全景"&gt;&lt;img alt="SONY NEX-C3 全景" height="113" src="http://farm7.static.flickr.com/6130/6008626326_d7a2d8f5d2.jpg" style="border: 0pt none;" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;SONY NEX-C3 全景&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
SONY NEX-C3的後製功能不錯。講的誇張點，彷彿photoshop就在相機裡～&lt;br /&gt;
&lt;div class="imageblock" style="width: 514px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6007017378/" target="_blank" title="SONY NEX-C3效果-保留紅色"&gt;&lt;img alt="SONY NEX-C3效果-保留紅色" height="281" src="http://farm7.static.flickr.com/6029/6007017378_675a2c3d4a.jpg" style="border: 0pt none;" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;後製功能-SONY NEX-C3效果-保留紅色&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="imageblock" style="width: 514px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6008630258/" target="_blank" title="SONY NEX-C3效果-保留紅色"&gt;&lt;img alt="SONY NEX-C3效果-保留紅色" height="281" src="http://farm7.static.flickr.com/6007/6008630258_a63929532f.jpg" style="border: 0pt none;" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;後製功能-SONY NEX-C3效果-保留紅&lt;br /&gt;
不過，雲彩不夠紅，保留不下來..  :P&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="imageblock" style="width: 514px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6008081311/" target="_blank" title="SONY NEX-C3測試"&gt;&lt;img alt="SONY NEX-C3測試" height="281" src="http://farm7.static.flickr.com/6136/6008081311_873646cccb.jpg" style="border: 0pt none;" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;增加顏色的鮮豔度，黃昏的光線變得更吸引人&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="imageblock" style="width: 514px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6008631256/" target="_blank" title="SONY NEX-C3效果-玩具相機"&gt;&lt;img alt="SONY NEX-C3效果-玩具相機" height="281" src="http://farm7.static.flickr.com/6126/6008631256_96a56fe2a0.jpg" style="border: 0pt none;" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;SONY NEX-C3效果-玩具相機&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="imageblock" style="width: 514px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6008632398/" target="_blank" title="SONY NEX-C3效果-普普風"&gt;&lt;img alt="SONY NEX-C3效果-普普風" height="281" src="http://farm7.static.flickr.com/6017/6008632398_2b6f012522.jpg" style="border: 0pt none;" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;SONY NEX-C3效果-普普風&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="imageblock" style="width: 514px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6008087743/" target="_blank" title="SONY NEX-C3測試"&gt;&lt;img alt="SONY NEX-C3測試" height="281" src="http://farm7.static.flickr.com/6023/6008087743_6d996fbc65.jpg" style="border: 0pt none;" width="500" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;測試長時間曝光&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
接者，測試HDR功能。開啟HDR後，NEX3C會連續拍三張照片來處理。因此，需要配合腳架來拍攝。我以神奇寶貝火雉雞做為主角，可以明顯看出兩張照片的差異。&lt;br /&gt;
&lt;div class="imageblock" style="width: 295px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6006963500/" target="_blank" title="火雉雞-none HDR"&gt;&lt;img alt="火雉雞-none HDR" height="500" src="http://farm7.static.flickr.com/6146/6006963500_0ab13a8211.jpg" style="border: 0pt none;" width="281" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;沒開啟HDR功能&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="imageblock" style="width: 295px;"&gt;&lt;table border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.flickr.com/photos/kingf/6006963620/" target="_blank" title="火雉雞-HDR"&gt;&lt;img alt="火雉雞-HDR" height="500" src="http://farm7.static.flickr.com/6138/6006963620_270f0fb8c0.jpg" style="border: 0pt none;" width="281" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr align="center"&gt;&lt;td&gt;&lt;span class="imagetext"&gt;開啟HDR功能（EXIF似乎沒顯示我使用HDR）&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;
最後提一下。原本以為這麼小的相機，對於我來說應該會因為太小而不好操作。沒想到，還挺順手的。有同事認為，應該是因為我都是兩手在操作（一手撐鏡頭，另一手按快門）。他的習慣都是用單手操作soney nex5，因此覺得不太好握相機。&lt;br /&gt;
&lt;br /&gt;
才用了SONY NEX-C3拍了些照片，回頭拿我自己的NIKON D90時……忽然有個感覺，這台NIKON D90怎麼那麼大、那麼重呀  :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/887419469476439699-6334745113909887719?l=kingfff.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/12Rif5ATHoD3TotBina93gjvTXw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/12Rif5ATHoD3TotBina93gjvTXw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/12Rif5ATHoD3TotBina93gjvTXw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/12Rif5ATHoD3TotBina93gjvTXw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/qgdZ/~4/hWfk0iJ8tPo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://kingfff.blogspot.com/feeds/6334745113909887719/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=887419469476439699&amp;postID=6334745113909887719" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/6334745113909887719?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/887419469476439699/posts/default/6334745113909887719?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/qgdZ/~3/hWfk0iJ8tPo/sony-nex-c3.html" title="SONY NEX-C3的小測試" /><author><name>KingF</name><uri>http://www.blogger.com/profile/07162838368621654134</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="20" src="http://photos1.blogger.com/img/21/2369/320/4.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm7.static.flickr.com/6144/6006964156_0ba80f89ab_t.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://kingfff.blogspot.com/2011/08/sony-nex-c3.html</feedburner:origLink></entry></feed>

