一般使用字串切割, 可用 substr
遇到有中文字的時候, 請改用 mb_substr, 並設定好 encoding
mb_substr($content,0,40,"UTF-8")
解決PHP substr切割中文字問題
mb_substr 字串分割
2010/12/23
2010/12/15
[PHP] PHP 日期格式轉換
時間格式轉換常會用得到, 記錄一下, 以免又忘了
結果: 2010-12-15
由日期字串或是由 mysql 讀來的 datetime 資料都可以如此做轉換
$date = '2010/12/15 22:28';
$date = date('Y-m-d', strtotime($date));
結果: 2010-12-15
由日期字串或是由 mysql 讀來的 datetime 資料都可以如此做轉換
2010/12/03
[ReportViewer] 如何在報表加入參數
在 MS ReportViewer 顯示動態傳入參數的方法
Code Behind:
ReportViewer:
需加入對應的參數名稱, 以便在報表中顯示
文字方塊可用 Expression 來變更想要顯示的資料
Code Behind:
Dim paramList As New Generic.List(Of ReportParameter)
paramList.Add(New ReportParameter("ReportParameter1", "參數值"))
Me.ReportViewer1.LocalReport.SetParameters(paramList)
ReportViewer:
需加入對應的參數名稱, 以便在報表中顯示
文字方塊可用 Expression 來變更想要顯示的資料
="設定參數值: " & Parameters!ReportParameter1.Value
[PHP] PHP 在 IIS 使用 MySQL 連線逾時 Time Out 解決方法
通常在本機連資料庫, 我們都是設定 localhost, 即可順利連線
但今天在測試主機環境 WinServer 2008 + IIS7 + PHP + MySQL
結果在連線時一直出現 500 的錯誤訊息
用 cmd 來執行 mysql 確認帳號及密碼都沒錯, 能使用的資料庫名稱也沒錯
我確定使用者訊息這邊都沒錯...但為什麼還會 time out 呢?
在詢問 Google 大神後, 有網友建議把 localhost 改成 127.0.0.1 來做主機連線
試過此方式後, 呼...終於連上了! ^^
快點記錄一下, 以免日後遇到又忘了怎麼處理
但今天在測試主機環境 WinServer 2008 + IIS7 + PHP + MySQL
結果在連線時一直出現 500 的錯誤訊息
用 cmd 來執行 mysql 確認帳號及密碼都沒錯, 能使用的資料庫名稱也沒錯
我確定使用者訊息這邊都沒錯...但為什麼還會 time out 呢?
在詢問 Google 大神後, 有網友建議把 localhost 改成 127.0.0.1 來做主機連線
試過此方式後, 呼...終於連上了! ^^
快點記錄一下, 以免日後遇到又忘了怎麼處理
2010/11/14
使用 Expression Web 開啟 PHP 檔案時, 文件編碼跳掉的問題
Expression Web 4 支援 PHP intellisense 真的很棒, 而且可以直接用虛擬伺服器瀏覽執行結果
但是目前有遇到開啟檔案編碼常會跳來跳去, 這個問題實在很困擾, 讓我不得不用其他 coding 工具
我遇到的問題用以下步驟,圖示說明可能清楚一點
1. 在 Web 4 建立新 PHP 文件 (這個時候是 UTF-8 的編碼文件)
2. 在文字編輯器確認編碼, 顯示正常, 是 UTF-8
3. 在 Web 4 關掉文件, 再重新開啟, 問題就來了, 原來的中文已經變亂碼
如果我不存檔關掉文件, 再用其他文字編輯器開啟, 還是正常的 UTF-8 編碼
但是如果開啟原檔直接在 Web 4 存檔後, 就變成 ANSI 編碼的文件了
4. 以下是在文字編輯器開啟的結果, 這就不是我要的結果
要判斷編碼有沒有跑掉, 現在大概看字體就可以看得出來了 (請看在 Web 4 開啟的文件字型)
這個問題應該是軟體處理開啟檔案時發生的, 不知道有沒有什麼解決方案?
註: 如果含有 meta tag 註明 Content-Type 是 utf-8, 則開啟/儲存都沒問題
但是目前有遇到開啟檔案編碼常會跳來跳去, 這個問題實在很困擾, 讓我不得不用其他 coding 工具
我遇到的問題用以下步驟,圖示說明可能清楚一點
1. 在 Web 4 建立新 PHP 文件 (這個時候是 UTF-8 的編碼文件)
2. 在文字編輯器確認編碼, 顯示正常, 是 UTF-8
3. 在 Web 4 關掉文件, 再重新開啟, 問題就來了, 原來的中文已經變亂碼
如果我不存檔關掉文件, 再用其他文字編輯器開啟, 還是正常的 UTF-8 編碼
但是如果開啟原檔直接在 Web 4 存檔後, 就變成 ANSI 編碼的文件了
4. 以下是在文字編輯器開啟的結果, 這就不是我要的結果
要判斷編碼有沒有跑掉, 現在大概看字體就可以看得出來了 (請看在 Web 4 開啟的文件字型)
這個問題應該是軟體處理開啟檔案時發生的, 不知道有沒有什麼解決方案?
註: 如果含有 meta tag 註明 Content-Type 是 utf-8, 則開啟/儲存都沒問題
2010/11/12
[PHP] 在 php 寄送 mail 需開啟 openssl 模組
今天在 php 寫支用 Gmail 寄信的程式, 結果發現 SMTP 連線失敗
問了 G大神, 原來是需開啟 openssl 模組就可以解決
快點趁還記得的時候, 做一下筆記, 不然又忘了
變更 php.ini 檔, 將以下行前的註解拿掉就搞定囉
extension=php_openssl.dll
延伸閱讀:
php安裝openssl的方法
如何利用 Gmail 的SMTP 發信(使用PHPMailer)
問了 G大神, 原來是需開啟 openssl 模組就可以解決
快點趁還記得的時候, 做一下筆記, 不然又忘了
變更 php.ini 檔, 將以下行前的註解拿掉就搞定囉
extension=php_openssl.dll
延伸閱讀:
php安裝openssl的方法
如何利用 Gmail 的SMTP 發信(使用PHPMailer)
2010/11/10
Install Zen Coding on Notepad++
Zen Coding 是一個可以加快 HTML CSS coding 的外掛程式
需要的工具:
Notepad++
Zen Coding plugin for Notepad++
more support download list
在 Notepad++ 的安裝方式:
解壓縮會得到 NppScripting/ 及 NppScripting.dll 檔案
將它們複製到 Notepad++ 安裝目錄下的 plugins 資料夾, 再啟動 Notepad++ 即可
需要的工具:
Notepad++
Zen Coding plugin for Notepad++
more support download list
在 Notepad++ 的安裝方式:
解壓縮會得到 NppScripting/ 及 NppScripting.dll 檔案
將它們複製到 Notepad++ 安裝目錄下的 plugins 資料夾, 再啟動 Notepad++ 即可
Zen Coding 在 Notepad++ 中的使用快速鍵
[DevTools] Zen Coding - generating HTML faster!
今天意外發現加速 coding 的工具: Zen Coding
可以用類似 CSS 選取器的方式來快速建立 HTML 程式碼
例如:
這樣的 code 可以快速建立出以下結構, 這樣可以省下很多 key in 的時間~
用說的不如用看的, 感受一下...
Zen Coding v0.5 from Sergey Chikuyonok on Vimeo.
目前支援許多開發的 IDE 及文字編輯器: Visual Studio, NetBeans, Eclipse, Notepad++ 等等
現在已將手邊常用的開發工具加上 Zen Coding 外掛, 有空再來貼安裝擷圖
可以用類似 CSS 選取器的方式來快速建立 HTML 程式碼
例如:
ul#menu>li.item*3
這樣的 code 可以快速建立出以下結構, 這樣可以省下很多 key in 的時間~
(可惜...html 在 blog 被改寫了, 呈現不出原始 code, 只好看下方影片吧)
用說的不如用看的, 感受一下...
Zen Coding v0.5 from Sergey Chikuyonok on Vimeo.
目前支援許多開發的 IDE 及文字編輯器: Visual Studio, NetBeans, Eclipse, Notepad++ 等等
現在已將手邊常用的開發工具加上 Zen Coding 外掛, 有空再來貼安裝擷圖
2010/11/02
[Flash AS3] navigateToURL 連結
import flash.net.navigateToURL
Syntax:
request 需要使用 new URLRequest(url)
window 可用的字串: _self, _blank, _top, _parent
例:
Syntax:
public function navigateToURL(request:URLRequest, window:String = null):void
request 需要使用 new URLRequest(url)
window 可用的字串: _self, _blank, _top, _parent
例:
import flash.net.URLRequest; // 需使用 URLRequest 函式 import flash.net.navigateToURL; btnGotoUrl.addEventListener(MouseEvent.CLICK, gotoUrl); function gotoUrl(event:MouseEvent):void { navigateToURL(new URLRequest("http://devmanna.blogspot.com/"), "_blank"); }
2010/10/26
[PEAR] 如何安裝 PEAR 套件 pear install
繼上篇 安裝 PEAR 函式庫 後, 最需要就是安裝相關套件 packages
安裝指令:
註: 在安裝完 PEAR 之後, 記得執行 pear.bat 檔, 註冊環境變數, 即可直接在命令鍵入 pear 的指令 (可鍵 pear list , pear help 測試結果)
安裝指令:
pear install [PACKAGE-version]
在網站找到的套件名稱, 在 Easy Install 處即可找到安裝指令
註: 在安裝完 PEAR 之後, 記得執行 pear.bat 檔, 註冊環境變數, 即可直接在命令鍵入 pear 的指令 (可鍵 pear list , pear help 測試結果)
[PHP] 在 Windows 下安裝 PEAR 函式庫
在 Windows 下安裝 PEAR 函式庫步驟
1. 在 命令提示字元 以 系統管理員身分執行 (務必用管理員身分,否則寫入權限不足會導致安裝失敗)
2. 至安裝 php 的資料夾 (例: C:\php), 裡面已有 PEAR 資料夾 (過去我是用解壓縮方式安裝)
裡面已存在一個 go-pear.phar 檔
鍵入指令:
出現提示: Are you installing a system-wide PEAR or a local copy?
(system|local) [system]:
使用預設值 (system), 直接按 Enter, 將顯示所有會安裝的資訊
出現提示: 1-12, 'all' or Enter to continue:
使用預設值 (all), 直接按 Enter 開始安裝
出現提示: Would you like to alter php.ini? [Y/n]
鍵入 y 更新 php.ini 的資訊 (主要是 include_path 更新)
1. 在 命令提示字元 以 系統管理員身分執行 (務必用管理員身分,否則寫入權限不足會導致安裝失敗)
2. 至安裝 php 的資料夾 (例: C:\php), 裡面已有 PEAR 資料夾 (過去我是用解壓縮方式安裝)
裡面已存在一個 go-pear.phar 檔
鍵入指令:
php go-pear.phar
出現提示: Are you installing a system-wide PEAR or a local copy?
(system|local) [system]:
使用預設值 (system), 直接按 Enter, 將顯示所有會安裝的資訊
出現提示: 1-12, 'all' or Enter to continue:
使用預設值 (all), 直接按 Enter 開始安裝
出現提示: Would you like to alter php.ini? [Y/n]
鍵入 y 更新 php.ini 的資訊 (主要是 include_path 更新)
2010/08/23
Android .apk MIME Type
Filename extension .apk
Internet media type application/vnd.android.package-archive
Type of format package management system, file archive
Container for software package
Reference: Wikipedia - APK (file format)
Internet media type application/vnd.android.package-archive
Type of format package management system, file archive
Container for software package
Reference: Wikipedia - APK (file format)
2010/08/02
[PHP] 在 Windows 環境下 PHPUnit 安裝及 NetBeans 整合
以前從來也沒有 Test Driven Development 的概念
自從接觸微軟的技術後, 參與了不少場的研討會, 漸漸接觸 TDD 的知識
我想不管是任何程式語言, TDD 的發展好像愈來愈盛, 在軟體工程視為不可或缺的一環
Ruddy 老師曾說過: 測試過的程式, 才是可以相信的程式
的確, 不管工程師是誰, 是小小助理, 還是經驗老道的工程師, 只要是沒有測試過的程式, 它的可信度不會是 100%
最近又接觸回久久沒碰的 php, 心血來潮開始找好用的編輯器
說真的, 經過 VS IDE 的工具後, 有 intellisense 真的是幫助很大, 不用常常記一堆指令或去翻查工具書, 加快程式編寫速度, 不需要一字一字完全自己 key 出來
可惜的是 VS 不支援 php, 就算可以用 vs.php 來顯示語法顏色, 但已經不敷使用 (那跟一般文字編輯器的功能沒什麼兩樣)
而 Expression Web 雖然支援 php, 還有 code hint, 但是在 unicode 支援上總是卡卡的
近期搜尋一些免費又實用的 IDE, 有網友特推 eclipse 跟 NetBeans, 兩樣也都試過, 我的選擇是 NetBeans...因為有 GUI 介面的 unit test 整合使用
自從接觸微軟的技術後, 參與了不少場的研討會, 漸漸接觸 TDD 的知識
我想不管是任何程式語言, TDD 的發展好像愈來愈盛, 在軟體工程視為不可或缺的一環
Ruddy 老師曾說過: 測試過的程式, 才是可以相信的程式
的確, 不管工程師是誰, 是小小助理, 還是經驗老道的工程師, 只要是沒有測試過的程式, 它的可信度不會是 100%
最近又接觸回久久沒碰的 php, 心血來潮開始找好用的編輯器
說真的, 經過 VS IDE 的工具後, 有 intellisense 真的是幫助很大, 不用常常記一堆指令或去翻查工具書, 加快程式編寫速度, 不需要一字一字完全自己 key 出來
可惜的是 VS 不支援 php, 就算可以用 vs.php 來顯示語法顏色, 但已經不敷使用 (那跟一般文字編輯器的功能沒什麼兩樣)
而 Expression Web 雖然支援 php, 還有 code hint, 但是在 unicode 支援上總是卡卡的
近期搜尋一些免費又實用的 IDE, 有網友特推 eclipse 跟 NetBeans, 兩樣也都試過, 我的選擇是 NetBeans...因為有 GUI 介面的 unit test 整合使用
2010/07/15
2010/07/01
[Silverlight] 程式端控制 Domain Service 讀取
xxxDomainContext dc = new xxxDomainContext();
dc.Load(dc.xxxQuery());
myControl.ItemsSource = dc.EntityName;
參考文件: Project Turing: Beginning RIA Services
dc.Load(dc.xxxQuery());
myControl.ItemsSource = dc.EntityName;
參考文件: Project Turing: Beginning RIA Services
2010/06/30
[Silverlight] 取得文件路徑/參數/檔案路徑
使用 HtmlPage 需匯入命名空間: System.Windows.Browser
取得網頁路徑: HtmlPage.Document.DocumentUri.ToString()
取得參數: HtmlPage.Document.QueryString["param"]
取得 Silverlight 應用程式路徑: Application.Current.Host.Source.AbsoluteUri.ToString()
取得網頁路徑: HtmlPage.Document.DocumentUri.ToString()
取得參數: HtmlPage.Document.QueryString["param"]
取得 Silverlight 應用程式路徑: Application.Current.Host.Source.AbsoluteUri.ToString()
2010/06/12
[iPhone] How To Make An iPhone App.
iPhone 4 is coming up soon. Would you like to develope some iPhone apps on your own? Below is a useful resource I found recently~ Hope this helps!
Learn how to develop an iPhone app that people will buy even if you never programmed before!
2010/05/15
[Silverlight 4] 列印功能
1. 引入 namespace
System.Windows.Printing
2. 建立 PrintDocument
3. 建立對應 Event
Print("MyDocument")
System.Windows.Printing
2. 建立 PrintDocument
3. 建立對應 Event
- BeginPrint
- EndPrint
- PrintPage - e.PrintVisual (指定列印目標物件), 確認 e.HasMorePages (是否有多頁)
Print("MyDocument")
2010/05/06
[ASP.NET] 轉換 ArrayList 至字串陣列
VB:
C#:
Dim str() As String = arrList.ToArray(GetType(String))
C#:
string[] strings = (string[])arrList.ToArray(typeof(string));
2010/05/05
2010/05/03
[.NET] Bitmap to byte array
byte[] bytes = (byte[])System.ComponentModel.TypeDescriptor.GetConverter(bmp).ConvertTo(bmp, typeof(byte[]));
參考網址: Bitmap to byte array
2010/04/27
[ASP.NET] Forms 登入驗證
命名空間
驗證
登出
查證是否驗證
ASP.NET MVC (在 Controller 的 Action 前加 Authorize 屬性)
e.g.
相關資料:
System.Web.Security
驗證
FormsAuthentication.RedirectFromLoginPage(username, true)
登出
FormsAuthentication.SignOut()
查證是否驗證
User.Identity.IsAuthenticated
ASP.NET MVC (在 Controller 的 Action 前加 Authorize 屬性)
[Authorize]
e.g.
[Authorize]
public ActionResult Index() { return View(); }
相關資料:
[ASP.NET] 類別中讀取 Session
匯入命名空間
在類別中使用Session
Imports System.Web.HttpContext
在類別中使用Session
Current.Session("sessionName")
2010/02/19
Windows Gadget Location
Windows 7 - Gadget Location
C:\Users\[UserName]\AppData\Local\Microsoft\Windows Sidebar\Gadgets
Weather Gadget:
http://gallery.live.com/liveItemDetail.aspx?li=3a72b5af-218f-4fdd-b706-e07ac0c85cb0&bt=1
C:\Users\[UserName]\AppData\Local\Microsoft\Windows Sidebar\Gadgets
Weather Gadget:
http://gallery.live.com/liveItemDetail.aspx?li=3a72b5af-218f-4fdd-b706-e07ac0c85cb0&bt=1
[Firefox] Set Tab Width
Address Bar Type:
Search:
References:
FireFox Tip: How To Set A Minimum Tab Width
about:config
Search:
browser.tabs.tabMaxWidth
browser.tabs.tabMinWidth
References:
FireFox Tip: How To Set A Minimum Tab Width