開發 PHP 的好用工具:Eclipse

Eclipse 是著名跨平台的自由集成開發環境(IDE)。最初主要用來Java語言開發;目前亦有人通過外掛程式使其作為C++、Python、PHP等其他語言的開發工具。

Eclipse最初是由IBM公司開發,2001年11月貢獻給開源社區,現在它由非營利軟體供應商聯盟Eclipse基金會(Eclipse Foundation)管理。

Eclipse有專門用來開發PHP程式的工具:PHP Development Tools
可由 http://www.eclipse.org/pdt/ 下載。

若要使用 Eclipse 建置程式檔案,希望以 utf-8 格式存檔時,需做下列環境的調整:(默認是 ANSI 格式, encoding MS950)

  1. Windows > Preferences > General > Content Types,
    set UTF-8 as the default encoding for all content types.
  2. Windows > Preferences > General > Workspaces,
    set "Text file encoding" to "Other : UTF-8".
  3. Windows > Preferences > Web > CSS Files > Encoding = UTF-8
  4. Windows > Preferences > Web > HTML Files > Encoding = UTF-8

統一編號演算示例

image

文字說明:
(一) 長度:共八位數,全部為數字。
(二) 計算公式
1、各數字分別乘以 1, 2, 1, 2, 1, 2, 4, 1
2、公式如下:
D1 D2 D3 D4 D5 D6 D7 D8
* 1    2    1    2    1    2    4    1 (第一列 * 第二列)

A1 B1 A2 B2 A3 B3 B4 A4  (Bx:相乘後的十位數)
+    C1       C2       C3 C4        (Cx:相乘後的個位數)

X1 X2 X3 X4 X5 X6 X7 X8 (Xx:相加後的十位數)
                                    Y7       (Yx:相加後的個位數)
Z1= X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8  或
Z1= X1 + X2 + X3 + X4 + X5 + X6 + Y7 + X8

3、當第 7 位數為 7 者,可取相加之倒數第二位取 0 及 1 來計算如 Z1 及 Z2 計算其和。
4、假如 Z1 或 Z2 能被 10 整除,則表示營利事業統一編號正確。

(三) 範例 ( 以 0 0 2 3 8 7 7 8 為例 )
0 0 2 3 8 7 7 8
*
1 2 1 2 1 2 4 1 (第一列 * 第二列)

0 0 2 6 8 1 2 8 (Bx:相乘後的十位數)
+             4 8   (Cx:相乘後的個位數)

0 0 2 6 8 5 1 8 (Xx:相加後的十位數)
                  0    (Yx:相加後的個位數)
Z1= 0+ 0+ 2+ 6+ 8+ 5+ 1+ 8 = 30 或
Z2= 0+ 0+ 2+ 6+ 8+ 5+ 0+ 8 = 29
因 30 能被 10 整除,故營利事利統一編號正確。

OpenDataSource 使用技巧及延伸

之前,曾經寫下 OpenDataSource 的用法;這方法一般來說,是夠使用了。
http://pertonchang.blogspot.com/search?q=OpenDataSource+

不過,當你使用的特殊字元來當密碼的一部份內容時,可能就會有問題。
==> 會抓不到資料.

再看下 OpenDataSource 的語法
SELECT   *
FROM OPENDATASOURCE(
     'SQLOLEDB',
     'Data Source=ServerName;User ID=MyUID;Password=MyPass'
          ).Northwind.dbo.Categories

記得用雙引號(")將特殊字元括住
SELECT   *
FROM OPENDATASOURCE(
     'SQLOLEDB',
     'Data Source=ServerName;User ID=MyUID;Password= "MyPass"'
          ).Northwind.dbo.Categories

另外,再介紹一個 Linked Server 的用法
如果你的環境有在 SQL Server ,Security / Linked Servers 中設定,例如:LOCAL
image
image
image

跨資料庫抓資料的語法,就變成了

SELECT   *
FROM LOCAL
.Northwind.dbo.Categories

指標的迷失問題?

函式指標     Pointer to Function
( * f ) ()        指向函式位址的指標

指標函式     Pointer Function
* f ()           傳回指標值的函式
* ( f () )

陣列指標     Pointer to Array
( * f ) []         指向陣列位址的指標

指標陣列     Pointer Array
* f []            存放指標元素的陣列

FTP 問題的排解可能

在使用 FTP 功能的過程中,可能會遇到無法正常運作的情形,
這時,可參考下列使用建議:

1. FTP 使用 (21)
2. Active mode , Passive mode

3. 用FTPS... (990 & 989)
4. 為 User 開一個SSL VPN帳號來連FTP用.... (443)
5. 透過網路硬碟 (Skydrive, Dropbox.....) (80 & 443)
6. 在命令模式下執行,傳檔時要設定傳送的檔案格式,才不會造成收到的檔案異常

觸發 (Trigger) 的設定及解除

對於 觸發 (Trigger) 的設定及解除,方式如下:

1. 設定
    直接在 Query Analyzer 中,執行已設計好的 觸發程式。
    如此,就可以讓該觸發程式依附在特定的資料表上。

2. Trigger 解除
    一般來說,可以指令來解除
    alter table iear01h disable trigger all

若是,要移除 Trigger 的資料表,有做同步的設定,上述指令會得到錯誤訊息:
Cannot alter the table 'iear01h' because it is being published for replication.

這時,只能先以 Table Design 的方式,先備份該 Trigger 程式,再將該 Trigger 刪除之。

刪除檔案或目錄的迷思?

對於一個多層次結構的目錄,其下擁有為數眾多的檔案及子目錄。
若是要刪除檔案,或是要刪除檔案也要刪除包含檔案的目錄,該如何下指令?

用 Del、Erase 或是要用 Rd ??

使用 下列指令,只會刪除各個目錄中的檔案,目錄是不會被刪除了。
Del  /F /S /Q *.* (or Path)
Erase /F /S /Q *.* (or Path)

但是,使用 下列指令,將會刪除各個目錄中的檔案,目錄也是會被刪除。
Rd /S /Q  Path