2009年7月6日 星期一

C語言學習實錄

C語言學習實錄

起因...

早在很久以前就曾經有想學程式設計

然而C語言也算是最基本的程式語言之一

所以早在小學就有去巨匠補過C語言

不過無奈啊!!那時候就是不開竅

導致程式語言一直都還是"夢想"

......
......

直到到了大學因為實驗室需要

接觸了PHP語言

從此就創造了人生另一片天地(顆顆)

...

雖然PHP語言日漸進步

不過學習C語言或者其他程式語言的想法

還是不停在腦中盤旋

因此在升大三的暑假

終於再次有機會到巨匠學習C語言摟!!

......
<重點>
......

本人將會把在巨匠學的程式範例和一些重點 PO 上來

放在"C語言學習實錄"分類

供大家參考

此次暑假預計學習的有

C++ 初階 (其實還是C語言)
C++ 進階
C++ 物件導向

歡迎大家觀賞 (顆顆)

也當作自己的學習紀錄吧!!


STAR

============開始=================
============C語言學習實錄一======

C語言學習實錄之一
(第一次上課)

當然學習程式語言第一步驟當然

就是安裝相關程式

此次課程使用的是 DEV C++ (免費的搜尋一下就下載的到)
點我進入官方下載網頁

安裝好後呢

就是先確定
是否安裝成功?
可否使用?

SO 老套的 當然就是先輸出 "HELLO WORLD!!" (顆顆)
此次使用了
printf 輸出在螢幕
system 系統相關

ex1-1

#include //引入檔(和PHP不同),要使用哪些語法就必須引用那些引入檔
#include //system語法用
int main(void)
{
printf("Hello,C!\n"); //輸出
printf("Hello,World!\n");
system("pause"); //程式暫停 (沒輸入的話視窗執行完就跳掉)
return 0; //無實質意義,只是表示檔案成功執行完畢(可有可無)
}


接下來就是HELLO WORLD 進階版(顆顆)
就是要輸入名子然後 HELLO!!
此次增加了

宣告變數
int 宣告為整數
char 宣告為字元

變數代數 %x
%c 為字元
%d 為十進位

ex1-2

#include
#include
int main(void){
int y=10; //宣告變數整數y 且值為10
char name; //宣告字元name
printf("please enter your name\n");
scanf("%c",&name); //scanf為讓使用者輸入東西,並存入name中('&'要加,%c字元)
printf("please enter your age\n");
scanf("%d",&y);//%d 輸入十進位
printf("HELLO !!\n大家好\n");
printf("我是%c\n今年%d歲\n",name,y); //(這邊不用'&')
system("pause");
return 0;
}


接下來呢
就是在整合入 運算的部分

ex1-3

#include
#include
int main(void){
int n1,n2,s;
/*注解
printf("請輸入被加數\n");
scanf("%d",&n1);
printf("請輸入加數\n");
scanf("%d",&n2);
s = n1+n2;
printf("%d+%d=%d\n",n1,n2,s);
p.s此段較複雜,下段較簡潔
*/
printf("請輸入被加數與加數,並請以豆號隔開\n");
scanf("%d,%d",&n1,&n2); //輸入的時候必須符合""之間的格式
printf("%d+%d=%d\n",n1,n2,n1+n2);

system("pause");
return 0;
}


此次課程最後就是較複雜的運算
加入了小數的部分

宣告變數
double 為小數

變數代數 %x
%f 小數


ex1-4

#include
#include
int main(void)
{
int f;
double c; //宣告為小數c (float也可,差在記憶體大小)
printf("please enter F\n");
scanf("%d",&f);
c = (f-32)*5/(double) 9;
/*
p.s
(double) 9 為宣告9為小數,(隨便挑一個宣靠為小數即可)

在c語言中,整數間運算的結果還是整數
如果不加入(double) 那最後的c值會是 xx.0000 小數部分為0
*/
printf("C is %.2f \n",c); //%f為小數,%2.4f表示只顯示小數點前兩位,小數點後四位
system("pause");
return 0;

}

此次課程結束

homework
1.寫出兩數相減
2.寫出bmi計算,輸入身高(cm) 體重(kg) (整數)



hw1-1 寫出兩數相減

#include
#include
int main(void){
int a,b;
printf("請輸入被減數\n");
scanf("%d",&a);
printf("請輸入減數\n");
scanf("%d",&b);
printf("%d-%d=%d\n",a,b,a-b);
system("pause");
return 0;
}



hw1-2 寫出bmi計算,輸入身高(cm) 體重(kg) (整數)

#include
#include
int main(void){
int cm,kg;
double bmi;
printf("請輸入身高(cm)\n");
scanf("%d",&cm);
printf("請輸入體重(kg)\n");
scanf("%d",&kg);
bmi = (kg*(double)10000)/(cm*cm);
printf("您的身高為%d,體重為%d,BMI值為%.2f\n",cm,kg,bmi);
system("pause");
return 0;
}


============C語言學習實錄二===========

C語言學習實錄之二
C語言學習實錄之二
(第二次上課)

第二次上課

終於慢慢切入了最重要的地方了

就是重複迴圈 for() while() 等等

在c語言中這些用法都和php差不多(別的語法也是...)

所以還蠻容易上手的



首先就是for()迴圈的應用

for(起始值;判斷值是否進行;每次判斷值得改變){
do something
}

接下來是範例,要算出階層 就是 "!"

不過在這邊要注意的是,由於宣告的最後放結果的a,的長度只有31位元,正整數只能存放15位元
,所以如果輸入太大,則會出現"溢位"。

ex2-1

#include
#include
int main(void){
int i,a=1,n;
printf("請輸入皆層\n");
scanf ("%d",&n);
for(i=1;i<=n;i++){ //i起始值為一,每執行一次就加一,直到>n停止
a = a*i;
}
printf("=%d\n",a);
system("pause");
return 0;
}

接下來當然就是for()迴圈加強版摟!!

這邊主要差是在一次跳兩個數字,就變成偶數

ex 2-2

#include
#include
int main(void){
int i,a=0,n;
printf("請輸入偶數連加的最終值\n");
scanf("%d",&n);
for(i=2;i<=n;i=i+2){
a=a+i;
}
printf("%d\n",a);
system("pause");
return 0;
}


for()迴圈其實就差不多就這樣

如果想更詳細了解的話可以參考 php重複迴圈

for()迴圈基本上是大同小異,不過在寫法上還是有些差異


接下來就進入下一個主題

while()迴圈

這邊同樣可以參考 php重複迴圈

這個範例就直接是while()迴圈較深入的範例,用了兩個迴圈(當初就寫在一起了,忘了分開)

第一個是可以重複執行

第二個就是要計算所有整數的和

這邊有多一個指令 system("cls") 就是每執行一次就清除螢幕



ex2-3

#include
#include
int main(void){
int i,s,n;
char f='y'; // 宣告字元 f = 'y'
while(f == 'y' || f == 'Y') // 由於上述 所以可以執行以下
{
int i=1;s=0; //這邊要將i s 歸位,否則會錯誤(迴圈的變數值會保留,所以要重設)
printf("求1~N所有整數之和\n");
scanf("%d",&n);
while(i<=n) //第二個迴圈,用來計算
{
s=s+i;
i++;
}
printf("1~%d所有和為%d\n",n,s);
printf("如果繼續請案y\n");
scanf(" %c",&f); //輸入值給f,如果不是 'y' or 'Y' 則第一個while()不會繼續執行
//這邊在設定 %c時,前面要加一個空白,是告訴c,把"\n"(換行)清除掉,(c預設有換行)
system("cls");
}
system("pause");
return 0;
}



------------------------------------------------
本人將會把在巨匠學的程式範例和一些重點 PO 上來

放在"C語言學習實錄"分類

供大家參考

此次暑假預計學習的有

C++ 初階 (其實還是C語言)
C++ 進階
C++ 物件導向

歡迎大家觀賞 (顆顆)

也當作自己的學習紀錄吧!!
------------------------------------------------


============C語言學習實錄三===========

PHP 函數索引

此篇是也是從網路上轉貼來的,可以當成工具

附錄 A PHP 函數索引


Abs: 取得絕對值。
Acos: 取得反餘弦值。
ada_afetch: 取得數據庫的返回列。
ada_autocommit: 開關自動改動功能。
ada_close: 關閉 Adabas D 鏈接。
ada_commit: 改動 Adabas D 數據庫。
ada_connect: 鏈接至 Adabas D 數據庫。
ada_exec: 執行 SQL 指令。
ada_fetchrow: 取得返回一列。
ada_fieldname: 取得字段名稱。
ada_fieldtype: 取得字段資料類型。
ada_freeresult: 釋出返回資料的內存。
ada_numfields: 取得字段數目。
ada_numrows: 取得返回列數目。
ada_result: 取得返回資料。
ada_resultall: 返回 HTML 表格資料。
ada_rollback: 撤消當前交易。
AddSlashes: 字符串加入斜線。
apache_lookup_uri: 獲得所有的 URI 相關信息。
apache_note: 獲得及配置apache服務器的請求紀錄。
array: 建立一個新的數組。
array_walk: 讓使用者自訂函數能處理數組中的每一個元素。
arsort: 將數組的值由大到小排序。
Asin: 取得反正弦值。
asort: 將數組的值由小到大排序。
aspell_check: 檢查一個單字。
aspell_check-raw: 檢查一個單字,即使拼錯也不改變或修正。
aspell_new: 載入一個新的字典。
aspell_suggest: 檢查一個單字,並提供拼寫建議。
Atan: 取得反正切值。
Atan2: 計算二數的反正切值。
base64_decode: 將 BASE64 編碼字符串解碼。
base64_encode: 將字符串以 BASE64 編碼。
basename: 返回不含路徑的文件字符串。
base_convert: 轉換數字的進位方式。
bcadd: 將二個高精確度數字相加。
bccomp: 比較二個高精確度數字。
bcdiv: 將二個高精確度數字相除。
bcmod: 取得高精確度數字的餘數。
bcmul: 將二個高精確度數字相乘。
bcpow: 求一高精確度數字次方值。
bcscale: 配置程序中所有 BC 函數庫的默認小數點位數。
bcsqrt: 求一高精確度數字的平方根。
bcsub: 將二個高精確度數字相減。
bin2hex: 二進位轉成十六進位。
BinDec: 二進位轉成十進位。
Ceil: 計算大於指定數的最小整數。
chdir: 改變目錄。
checkdate: 驗證日期的正確性。
checkdnsrr: 檢查指定網址的 DNS 記錄。
chgrp: 改變文件所屬的群組。
chmod: 改變文件的屬性。
Chop: 去除連續空白。
chown: 改變文件的擁有者。
Chr: 返回序數值的字符。
chunk_split: 將字符串分成小段。
clearstatcache: 清除文件狀態快取。
closedir: 關閉目錄 handle。
closelog: 關閉系統紀錄。
connection_aborted: 若鏈接中斷則返回 true。
connection_status: 取得連接狀態。
connection_timeout: 若超過 PHP 程序執行時間則返回 true。
convert_cyr_string: 轉換古斯拉夫字符串成其它字符串。
copy: 複製文件。
Cos: 餘弦計算。
count: 計算變量或數組中的元素個數。
crypt: 將字符串用 DES 編碼加密。
current: 返回數組中目前的元素。
date: 將服務器的時間格式化。
dbase_add_record: 加入資料到 dBase 資料表。
dbase_close: 關閉 dBase 資料表。
dbase_create: 建立 dBase 資料表。
dbase_delete_record: 刪除 dBase 資料表的資料。
dbase_get_record: 取得 dBase 資料表的資料。
dbase_numfields: 取得 dBase 資料表的字段數。
dbase_numrecords: 取得 dBase 資料表的列數。
dbase_open: 打開 dBase 資料表。
dbase_pack: 清理 dBase 資料表。
dba_close: 關閉數據庫。
dba_delete: 刪除指定資料。
dba_exists: 檢查鍵是否存在。
dba_fetch: 取回指定資料。
dba_firstkey: 取回首筆鍵值。
dba_insert: 加入資料。
dba_nextkey: 取回下筆鍵值。
dba_open: 打開數據庫鏈接。
dba_optimize: 最佳化數據庫。
dba_popen: 打開並保持數據庫鏈接。
dba_replace: 改動或加入資料。
dba_sync: 數據庫同步化。
dblist: 取得 DBM 的信息。
dbmclose: 關閉 DBM 數據庫。
dbmdelete: 刪除指定資料。
dbmexists: 檢查鍵是否存在。
dbmfetch: 取回指定資料。
dbmfirstkey: 取回首筆鍵名。
dbminsert: 加入資料。
dbmnextkey: 取回下筆鍵值。
dbmopen: 打開 DBM 數據庫鏈接。
dbmreplace: 改動或加入資料。
debugger_off: 關閉內建的 PHP 除錯器。
debugger_on: 使用內建的 PHP 除錯器。
DecBin: 十進位轉二進位。
DecHex: 十進位轉十六進位。
DecOct: 十進位轉八進位。
delete: 無用的項目。
die: 輸出信息並中斷 PHP 程序。
dir: 目錄類別類。
dirname: 取得路徑中的目錄名。
diskfreespace: 取得目錄所在的剩餘可用空間。
dl: 載入 PHP 擴充模塊。
doubleval: 變量轉成倍浮點數類型。
each: 返回數組中下一個元素的索引及值。
easter_date: 計算復活節日期。
easter_days: 計算復活節與三月廿一日之間日期數。
echo: 輸出字符串。
empty: 判斷變量是否已配置。
end: 將數組的內部指針指到最後的元素。
ereg: 字符串比對解析。
eregi: 字符串比對解析,與大小寫無關。
eregi_replace: 字符串比對解析並取代,與大小寫無關。
ereg_replace: 字符串比對解析並取代。
error_log: 送出一個錯誤信息。
error_reporting: 配置錯誤信息回報的等級。
escapeshellcmd: 除去字符串中的特殊符號。
eval: 將值代入字符串之中。
exec: 執行外部程序。
exit: 結束 PHP 程序。
Exp: 自然對數 e 的次方值。
explode: 切開字符串。
extract: 匯入數組到符號表。
fclose: 關閉已打開的文件。
FDF_close: 關閉 FDF 文件。
FDF_create: 建立新的 FDF 文件。
FDF_get_file: 取得 /F 鍵的值。
FDF_get_status: 取得 /STATUS 鍵的值。
FDF_get_value: 取得字段的值。
FDF_next_field_name: 下一字段的名稱。
FDF_open: 打開 FDF 文件。
FDF_save: 將 FDF 文件存文件。
FDF_set_ap: 配置顯示字段。
FDF_set_file: 配置 /F 鍵。
FDF_set_status: 配置 /STATUS 鍵。
FDF_set_value: 配置字段的值。
feof: 測試文件指針是否指到文件尾。
fgetc: 取得文件指針所指的字符。
fgetcsv: 取得文件指針所指行,並解析 CSV 字段。
fgets: 取得文件指針所指的行。
fgetss: 取得文件指針所指的行,並去掉 HTML 語言標記。
file: 將文件全部讀入數組變量中。
fileatime: 取得文件最後的存取時間。
filectime: 取得文件最後的改變時間。
filegroup: 取得文件所屬的群組。
fileinode: 取得文件的 inode 值。
filemtime: 取得文件最後的修改時間。
fileowner: 取得文件的擁有者。
fileperms: 取得文件的權限配置。
filepro: 讀取 FilePro Map 文件。
filepro_fieldcount: 取得字段數目。
filepro_fieldname: 取得字段名稱。
filepro_fieldtype: 取得字段類型。
filepro_fieldwidth: 取得字段寬度。
filepro_retrieve: 取得指定儲存格資料。
filepro_rowcount: 取得列數目。
filesize: 獲得文件的大小。
filetype: 獲得文件的類型。
file_exists: 檢查文件是否存在。
flock: 鎖住文件。
Floor: 計算小於指定數的最大整數。
flush: 清出輸出緩衝區。
fopen: 打開文件或者 URL。
fpassthru: 輸出所有剩餘資料。
fputs: 寫到文件指針。
fread: 位組的方式讀取文件。
FrenchToJD: 將法國共和曆法轉換成為凱撒日計數。
fseek: 移動文件指針。
fsockopen: 打開網絡的 Socket 鏈接。
ftell: 取得文件讀寫指針位置。
ftp_cdup: 回上層目錄。
ftp_chdir: 改變路徑。
ftp_connect: 打開 FTP 鏈接。
ftp_delete: 將文件刪除。
ftp_fget: 下載文件,並存在已開的文件中。
ftp_fput: 上傳已打開文件。
ftp_get: 下載文件。
ftp_login: 登入 FTP 服務器。
ftp_mdtm: 獲得指定文件的最後修改時間。
ftp_mkdir: 建新目錄。
ftp_nlist: 列出指定目錄中所有文件。
ftp_pasv: 切換主被動傳輸模式。
ftp_put: 上傳文件。
ftp_pwd: 取得目前所在路徑。
ftp_quit: 關閉 FTP 連接。
ftp_rawlist: 詳細列出指定目錄中所有文件。
ftp_rename: 將文件改名。
ftp_rmdir: 刪除目錄。
ftp_size: 獲得指定文件的大小。
ftp_systype: 顯示服務器系統。
function_exists: 檢查函數是否已定義。
fwrite: 二進位位方式寫入文件。
getallheaders: 獲得所有 HTTP 變量值。
getdate: 獲得時間及日期信息。
getenv: 取得系統的環境變量
gethostbyaddr: 返回機器名稱。
gethostbyname: 返回 IP 網址。
gethostbynamel: 返回機器名稱的所有 IP。
GetImageSize: 取得圖片的長寬。
getlastmod: 返回該網頁的最後修改時間。
getmxrr: 取得指定網址 DNS 記錄之 MX 字段。
getmyinode: 返回該網頁的 inode 值。
getmypid: 返回 PHP 的行程代號。
getmyuid: 返回 PHP 的使用者代碼。
getrandmax: 隨機數的最大值。
getrusage: 返回系統資源使用率。
gettimeofday: 取得目前時間。
gettype: 取得變量的類型。
get_cfg_var: 取得 PHP 的配置選項值。
get_current_user: 取得 PHP 行程的擁有者名稱。
get_magic_quotes_gpc: 取得 PHP 環境變量 magic_quotes_gpc 的值。
get_magic_quotes_runtime: 取得 PHP 環境變量 magic_quotes_runtime 的值。
get_meta_tags: 抽出文件所有 meta 標記的資料。
gmdate: 取得目前與 GMT 差後的時間。
gmmktime: 取得 UNIX 時間戳記的格林威治時間。
GregorianToJD: 將格裡高裡曆法轉換成為凱撒日計數。
gzclose: 關閉壓縮文件。
gzeof: 判斷是否在壓縮文件尾。
gzfile: 讀壓縮文件到數組中。
gzgetc: 讀壓縮文件中的字符。
gzgets: 讀壓縮文件中的字符串。
gzgetss: 讀壓縮文件中的字符串,並去掉 HTML 指令。
gzopen: 打開壓縮文件。
gzpassthru: 解壓縮指針後全部資料。
gzputs: 資料寫入壓縮文件。
gzread: 壓縮文件讀出指定長度字符串。
gzrewind: 重設壓縮文件指針。
gzseek: 設壓縮文件指針至指定處。
gztell: 取得壓縮文件指針處。
gzwrite: 資料寫入壓縮文件。
header: 送出 HTTP 協議的標頭到瀏覽器
HexDec: 十六進位轉十進位。
htmlentities: 將所有的字符都轉成 HTML 字符串。
htmlspecialchars: 將特殊字符轉成 HTML 格式。
hw_Children: 取得子類代碼。
hw_ChildrenObj: 取得子類的類記錄。
hw_Close: 關閉 Hyperwave 連接。
hw_Connect: 連上 Hyperwave 服務器。
hw_Cp: 複製類。
hw_Deleteobject: 刪除類。
hw_DocByAnchor: 取得指定錨的文件類代碼。
hw_DocByAnchorObj: 取得指定錨的文件類。
hw_DocumentAttributes: 取得指定文件類屬性。
hw_DocumentBodyTag: 取得指定文件類的文件主體標記。
hw_DocumentContent: 取得指定文件類的內容。
hw_DocumentSetContent: 重設指定文件類的內容。
hw_DocumentSize: 取得文件大小。
hw_EditText: 改動文字檔寧。
hw_Error: 取得錯誤代碼。
hw_ErrorMsg: 取得錯誤信息。
hw_Free_Document: 釋放文件使用的內存。
hw_GetAnchors: 取得文件的鏈接錨。
hw_GetAnchorsObj: 取得文件的鏈接錨記錄。
hw_GetAndLock: 取得並鎖住類。
hw_GetChildColl: 取得子類們的 ID。
hw_GetChildCollObj: 取得子類們的資料。
hw_GetChildDocColl: 取得全部子文件聚集。
hw_GetChildDocCollObj: 取得全部子文件聚集記錄。
hw_GetObject: 取得類。
hw_GetObjectByQuery: 搜尋類。
hw_GetObjectByQueryColl: 搜尋聚集類。
hw_GetObjectByQueryCollObj: 搜尋聚集類。
hw_GetObjectByQueryObj: 搜尋類。
hw_GetParents: 取得父類的 ID。
hw_GetParentsObj: 取得父類的資料。
hw_GetRemote: 取得遠端文件。
hw_GetRemoteChildren: 取得遠端的子文件。
hw_GetSrcByDestObj: 取得指定目的的文件內容。
hw_GetText: 取得純文字檔寧。
hw_GetUsername: 目前使用者名字。
hw_Identify: 使用者身份確認。
hw_InCollections: 檢查類聚集。
hw_Info: 連接信息。
hw_InsColl: 插入聚集。
hw_InsDoc: 插入文件。
hw_InsertDocument: 上傳文件。
hw_InsertObject: 插入類記錄。
hw_Modifyobject: 修改類記錄。
hw_Mv: 移動類。
hw_New_Document: 建立新文件。
hw_Objrec2Array: 類記錄轉為數組。
hw_OutputDocument: 輸出文件。
hw_pConnect: 連上 Hyperwave 服務器。
hw_PipeDocument: 取得文件。
hw_Root: 取得根類代碼。
hw_Unlock: 取消鎖定。
hw_Who: 列出目前使用者。
ibase_bind: 鏈接 PHP 變量到 InterBase 參數。
ibase_close: 關閉 InterBase 服務器連接。
ibase_connect: 打開 InterBase 服務器連接。
ibase_execute: 執行 SQL 的指令部分。
ibase_fetch_row: 返回單列的各字段。
ibase_free_query: 釋放查詢指令佔用內存。
ibase_free_result: 釋放返回佔用內存。
ibase_pconnect: 保持 InterBase 服務器連接。
ibase_prepare: 分析 SQL 語法。
ibase_query: 送出一個 query 字符串。
ibase_timefmt: 配置時間格式。
ifxus_close_slob: 刪除 slob 類。
ifxus_create_slob: 建立 slob 類。
ifxus_open_slob: 打開 slob 類。
ifxus_read_slob: 讀取指定數目的 slob 類。
ifxus_seek_slob: 配置目前文件或找尋位置。
ifxus_tell_slob: 返回目前文件或找尋位置。
ifxus_write_slob: 將字符串寫入 slob 類中。
ifx_affected_rows: 得到 Informix 最後操作影響的列數目。
ifx_blobinfile_mode: 配置長位類模式。
ifx_byteasvarchar: 配置位組模式默認值。
ifx_close: 關閉 Informix 服務器連接。
ifx_connect: 打開 Informix 服務器連接。
ifx_copy_blob: 複製長位類。
ifx_create_blob: 建立長位類。
ifx_create_char: 建立字符類。
ifx_do: 執行已準備 query 字符串。
ifx_error: 取得 Informix 最後的錯誤。
ifx_errormsg: 取得 Informix 最後錯誤信息。
ifx_fetch_row: 返回單列的各字段。
ifx_fieldproperties: 列出 Informix 的 SQL 字段屬性。
ifx_fieldtypes: 列出 Informix 的 SQL 字段。
ifx_free_blob: 刪除長位類。
ifx_free_char: 刪除字符類。
ifx_free_result: 釋放返回佔用內存。
ifx_free_slob: 刪除 slob 類。
ifx_getsqlca: 取得 query 後的 sqlca 信息。
ifx_get_blob: 取得長位類。
ifx_get_char: 取得字符類。
ifx_htmltbl_result: 將 query 返回資料轉成 HTML 表格。
ifx_nullformat: 配置空字符模式默認值。
ifx_num_fields: 取得返回字段的數目。
ifx_num_rows: 取得返回列的數目。
ifx_pconnect: 打開 Informix 服務器持續連接。
ifx_prepare: 準備 query 字符串。
ifx_query: 送出一個 query 字符串。
ifx_textasvarchar: 配置文字模式默認值。
ifx_update_blob: 更改長位類。
ifx_update_char: 更改字符類。
ignore_user_abort: 連接中斷後程序是否執行。
ImageArc: 畫弧線。
ImageChar: 寫出橫向字符。
ImageCharUp: 寫出直式字符。
ImageColorAllocate: 匹配顏色。
ImageColorAt: 取得圖中指定點顏色的索引值。
ImageColorClosest: 計算色表中與指定顏色最接近者。
ImageColorExact: 計算色表上指定顏色索引值。
ImageColorResolve: 計算色表上指定或最接近顏色的索引值。
ImageColorSet: 配置色表上指定索引的顏色。
ImageColorsForIndex: 取得色表上指定索引的顏色。
ImageColorsTotal: 計算圖的顏色數。
ImageColorTransparent: 指定透明背景色。
ImageCopyResized: 複製新圖並調整大小。
ImageCreate: 建立新圖。
ImageCreateFromGIF: 取出 GIF 圖型。
ImageCreateFromPNG: 取出 PNG 圖型。
ImageDashedLine: 繪虛線。
ImageDestroy: 結束圖形。
ImageFill: 圖形著色。
ImageFilledPolygon: 多邊形區域著色。
ImageFilledRectangle: 矩形區域著色。
ImageFillToBorder: 指定顏色區域內著色。
ImageFontHeight: 取得字型的高度。
ImageFontWidth: 取得字型的寬度。
ImageGIF: 建立 GIF 圖型。
ImageInterlace: 使用交錯式顯示與否。
ImageLine: 繪實線。
ImageLoadFont: 載入點陣字型。
ImagePNG: 建立 PNG 圖型。
ImagePolygon: 繪多邊形。
ImagePSBBox: 計算 PostScript 文字所佔區域。
ImagePSEncodeFont: PostScript 字型轉成向量字。
ImagePSFreeFont: 卸下 PostScript 字型。
ImagePSLoadFont: 載入 PostScript 字型。
ImagePSText: 寫 PostScript 文字到圖中。
ImageRectangle: 繪矩形。
ImageSetPixel: 繪點。
ImageString: 繪橫式字符串。
ImageStringUp: 繪直式字符串。
ImageSX: 取得圖片的寬度。
ImageSY: 取得圖片的高度。
ImageTTFBBox: 計算 TTF 文字所佔區域。
ImageTTFText: 寫 TTF 文字到圖中。
imap_8bit: 將八位轉成 qp 編碼。
imap_alerts: 所有的警告信息。
imap_append: 附加字符串到指定的郵箱中。
imap_base64: 解 BASE64 編碼。
imap_binary: 將八位轉成 base64 編碼。
imap_body: 讀信的內文。
imap_check: 返回郵箱信息。
imap_clearflag_full: 清除信件標誌。
imap_close: 關閉 IMAP 鏈接。
imap_createmailbox: 建立新的信箱。
imap_delete: 標記欲刪除郵件。
imap_deletemailbox: 刪除既有信箱。
imap_errors: 所有的錯誤信息。
imap_expunge: 刪除已標記的郵件。
imap_fetchbody: 從信件內文取出指定部分。
imap_fetchheader: 取得原始標頭。
imap_fetchstructure: 獲取某信件的結構信息。
imap_getmailboxes: 取得全部信件詳細信息。
imap_getsubscribed: 列出所有訂閱郵箱。
imap_header: 獲取某信件的標頭信息。
imap_headers: 獲取全部信件的標頭信息。
imap_last_error: 最後的錯誤信息。
imap_listmailbox: 獲取郵箱列示。
imap_listsubscribed: 獲取訂閱郵箱列示。
imap_mailboxmsginfo: 取得目前郵箱的信息。
imap_mail_copy: 複製指定信件到它處郵箱。
imap_mail_move: 移動指定信件到它處郵箱。
imap_msgno: 列出 UID 的連續信件。
imap_num_msg: 取得信件數。
imap_num_recent: 取得新進信件數。
imap_open: 打開 IMAP 鏈接。
imap_ping: 檢查 IMAP 是否連接。
imap_qprint: 將 qp 編碼轉成八位。
imap_renamemailbox: 更改郵箱名字。
imap_reopen: 重開 IMAP 鏈接。
imap_rfc822_parse_adrlist: 解析電子郵件位址。
imap_rfc822_write_address: 電子郵件位址標準化。
imap_scanmailbox: 尋找信件有無特定字符串。
imap_search: 搜尋指定標準的信件。
imap_setflag_full: 配置信件標誌。
imap_sort: 將信件標頭排序。
imap_status: 目前的狀態信息。
imap_subscribe: 訂閱郵箱。
imap_uid: 取得信件 UID。
imap_undelete: 取消刪除郵件標記。
imap_unsubscribe: 取消訂閱郵箱。
implode: 將數組變成字符串。
intval: 變量轉成整數類型。
iptcparse: 使用 IPTC 模塊解析位資料。
isset: 判斷變量是否已配置。
is_array: 判斷變量類型是否為數組類型。
is_dir: 測試文件是否為目錄。
is_double: 判斷變量類型是否為倍浮點數類型。
is_executable: 測試文件是否為可執行文件。
is_file: 測試文件是否為正常文件。
is_float: 判斷變量類型是否為浮點數類型。
is_int: 判斷變量類型是否為整數類型。
is_integer: 判斷變量類型是否為長整數類型。
is_link: 測試文件是否為鏈接文件。
is_long: 判斷變量類型是否為長整數類型。
is_object: 判斷變量類型是否為類類型。
is_readable: 測試文件是否可讀取。
is_real: 判斷變量類型是否為實數類型。
is_string: 判斷變量類型是否為字符串類型。
is_writeable: 測試文件是否可寫入。
JDDayOfWeek: 返回日期在周幾。
JDMonthName: 返回月份名。
JDToFrench: 將凱撒日計數轉換成為法國共和曆法。
JDToGregorian: 將凱撒日計數 (Julian Day Count) 轉換成為格裡高裡曆法 (Gregorian date)。
JDToJewish: 將凱撒日計數轉換成為猶太曆法。
JDToJulian: 將凱撒日計數轉換成為凱撒曆法。
JewishToJD: 將猶太曆法轉換成為凱撒日計數。
join: 將數組變成字符串。
JulianToJD: 將凱撒曆法轉換成為凱撒日計數。
key: 取得數組中的索引資料。
ksort: 將數組的元素依索引排序。
ldap_add: 增加 LDAP 名錄的條目。
ldap_bind: 繫住 LDAP 目錄。
ldap_close: 結束 LDAP 鏈接。
ldap_connect: 連上 LDAP 服務器。
ldap_count_entries: 搜尋結果的數目。
ldap_delete: 刪除指定資源。
ldap_dn2ufn: 將 dn 轉成易讀的名字。
ldap_explode_dn: 切開 dn 的字段。
ldap_first_attribute: 取得第一筆資源的屬性。
ldap_first_entry: 取得第一筆結果代號。
ldap_free_result: 釋放返回資料內存。
ldap_get_attributes: 取得返回資料的屬性。
ldap_get_dn: 取得 DN 值。
ldap_get_entries: 取得全部返回資料。
ldap_get_values: 取得全部返回值。
ldap_list: 列出簡表。
ldap_modify: 改變 LDAP 名錄的屬性。
ldap_mod_add: 增加 LDAP 名錄的屬性。
ldap_mod_del: 刪除 LDAP 名錄的屬性。
ldap_mod_replace: 新的 LDAP 名錄取代舊屬性。
ldap_next_attribute: 取得返回資料的下筆屬性。
ldap_next_entry: 取得下一筆結果代號。
ldap_read: 取得目前的資料屬性。
ldap_search: 列出樹狀簡表。
ldap_unbind: 結束 LDAP 鏈接。
leak: 洩出內存。
link: 建立硬式鏈接。
linkinfo: 取得鏈接信息。
list: 列出數組中元素的值。
Log: 自然對數值。
Log10: 10 基底的對數值。
lstat: 取得鏈接文件相關信息。
ltrim: 去除連續空白。
mail: 寄出電子郵件。
max: 取得最大值。
mcrypt_cbc: 使用 CBC 將資料加/解密。
mcrypt_cfb: 使用 CFB 將資料加/解密。
mcrypt_create_iv: 從隨機源將向量初始化。
mcrypt_ecb: 使用 ECB 將資料加/解密。
mcrypt_get_block_size: 取得編碼方式的區塊大小。
mcrypt_get_cipher_name: 取得編碼方式的名稱。
mcrypt_get_key_size: 取得編碼鑰匙大小。
mcrypt_ofb: 使用 OFB 將資料加/解密。
md5: 計算字符串的 MD5 哈稀。
mhash: 計算哈稀值。
mhash_count: 取得哈稀 ID 的最大值。
mhash_get_block_size: 取得哈稀方式的區塊大小。
mhash_get_hash_name: 取得哈稀演算法名稱。
microtime: 取得目前時間的 UNIX 時間戳記的百萬分之一秒值。
min: 取得最小值。
mkdir: 建立目錄。
mktime: 取得 UNIX 時間戳記。
msql: 送出 query 字符串。
msql_affected_rows: 得到 mSQL 最後操作影響的列數目。
msql_close: 關閉 mSQL 數據庫連接。
msql_connect: 打開 mSQL 數據庫連接。
msql_createdb: 建立一個新的 mSQL 數據庫。
msql_create_db: 建立一個新的 mSQL 數據庫。
msql_data_seek: 移動內部返回指針。
msql_dbname: 取得目前所在數據庫名稱。
msql_dropdb: 刪除指定的 mSQL 數據庫。
msql_drop_db: 刪除指定的 mSQL 數據庫。
msql_error: 取得最後錯誤信息。
msql_fetch_array: 返回數組資料。
msql_fetch_field: 取得字段信息。
msql_fetch_object: 返回類資料。
msql_fetch_row: 返回單列的各字段。
msql_fieldflags: 獲得字段的標誌。
msql_fieldlen: 獲得字段的長度。
msql_fieldname: 返回指定字段的名稱。
msql_fieldtable: 獲得字段的資料表 (table) 名稱。
msql_fieldtype: 獲得字段的類型。
msql_field_seek: 配置指針到返回值的某字段。
msql_freeresult: 釋放返回佔用內存。
msql_free_result: 釋放返回佔用內存。
msql_listdbs: 列出可用數據庫 (database)。
msql_listfields: 列出指定資料表的字段 (field)。
msql_listtables: 列出指定數據庫的資料表 (table)。
msql_list_dbs: 列出可用數據庫 (database)。
msql_list_fields: 列出指定資料表的字段 (field)。
msql_list_tables: 列出指定數據庫的資料表 (table)。
msql_numfields: 取得返回字段的數目。
msql_numrows: 取得返回列的數目。
msql_num_fields: 取得返回字段的數目。
msql_num_rows: 取得返回列的數目。
msql_pconnect: 打開 mSQL 服務器持續連接。
msql_query: 送出一個 query 字符串。
msql_regcase: 將字符串逐字返回大小寫字符。
msql_result: 取得查詢 (query) 的結果。
msql_selectdb: 選擇一個數據庫。
msql_select_db: 選擇一個數據庫。
msql_tablename: 返回指定資料表的名稱。
mssql_affected_rows: 取得最後 query 影響的列數。
mssql_close: 關閉與數據庫的連接。
mssql_connect: 連上數據庫。
mssql_data_seek: 移動列指針。
mssql_fetch_array: 返回數組資料。
mssql_fetch_field: 取得字段信息。
mssql_fetch_object: 返回類資料。
mssql_fetch_row: 返回單列的各字段。
mssql_field_seek: 配置指針到返回值的某字段。
mssql_free_result: 釋放返回佔用內存。
mssql_num_fields: 取得返回字段的數目。
mssql_num_rows: 取得返回列的數目。
mssql_pconnect: 打開 MS SQL 服務器持續連接。
mssql_query: 送出一個 query 字符串。
mssql_result: 取得查詢 (query) 的結果。
mssql_select_db: 選擇一個數據庫。
mt_getrandmax: 隨機數的最大值。
mt_rand: 取得隨機數值。
mt_srand: 配置隨機數種子。
mysql_affected_rows: 得到 MySQL 最後操作影響的列數目。
mysql_close: 關閉 MySQL 服務器連接。
mysql_connect: 打開 MySQL 服務器連接。
mysql_create_db: 建立一個 MySQL 新數據庫。
mysql_data_seek: 移動內部返回指針。
mysql_db_query: 送查詢字符串 (query) 到 MySQL 數據庫。
mysql_drop_db: 移除數據庫。
mysql_errno: 返回錯誤信息代碼。
mysql_error: 返回錯誤信息。
mysql_fetch_array: 返回數組資料。
mysql_fetch_field: 取得字段信息。
mysql_fetch_lengths: 返回單列各欄資料最大長度。
mysql_fetch_object: 返回類資料。
mysql_fetch_row: 返回單列的各字段。
mysql_field_flags: 獲得目前字段的標誌。
mysql_field_len: 獲得目前字段的長度。
mysql_field_name: 返回指定字段的名稱。
mysql_field_seek: 配置指針到返回值的某字段。
mysql_field_table: 獲得目前字段的資料表 (table) 名稱。
mysql_field_type: 獲得目前字段的類型。
mysql_free_result: 釋放返回佔用內存。
mysql_insert_id: 返回最後一次使用 INSERT 指令的 ID。
mysql_list_dbs: 列出 MySQL 服務器可用的數據庫 (database)。
mysql_list_fields: 列出指定資料表的字段 (field)。
mysql_list_tables: 列出指定數據庫的資料表 (table)。
mysql_num_fields: 取得返回字段的數目。
mysql_num_rows: 取得返回列的數目。
mysql_pconnect: 打開 MySQL 服務器持續連接。
mysql_query: 送出一個 query 字符串。
mysql_result: 取得查詢 (query) 的結果。
mysql_select_db: 選擇一個數據庫。
mysql_tablename: 取得資料表名稱。
next: 將數組的內部指針向後移動。
nl2br: 將換行字符轉成

number_format: 格式化數字字符串。
OCIBindByName: 讓動態 SQL 可使用 PHP 變量。
OCIColumnIsNULL: 測試返回行是否為空的。
OCIColumnSize: 取得字段類型的大小。
OCICommit: 將 Oracle 的交易處理付諸實行。
OCIDefineByName: 讓 SELECT 指令可使用 PHP 變量。
OCIExecute: 執行 Oracle 的指令部分。
OCIFetch: 取得返回資料的一列 (row)。
OCIFetchInto: 取回 Oracle 資料放入數組。
OCILogOff: 關閉與 Oracle 的鏈接。
OCILogon: 打開與 Oracle 的鏈接。
OCINewDescriptor: 初始新的 LOB/FILE 描述。
OCINumRows: 取得受影響字段的數目。
OCIParse: 分析 SQL 語法。
OCIResult: 從目前列 (row) 的資料取得一欄 (column)。
OCIRollback: 撤消當前交易。
OctDec: 八進位轉十進位。
odbc_autocommit: 開關自動改動功能。
odbc_binmode: 配置二進位資料處理方式。
odbc_close: 關閉 ODBC 鏈接。
odbc_close_all: 關閉所有 ODBC 鏈接。
odbc_commit: 改動 ODBC 數據庫。
odbc_connect: 鏈接至 ODBC 數據庫。
odbc_cursor: 取得游標名。
odbc_do: 執行 SQL 指令。
odbc_exec: 執行 SQL 指令。
odbc_execute: 執行預置 SQL 指令。
odbc_fetch_into: 取得返回的指定列。
odbc_fetch_row: 取得返回一列。
odbc_field_len: 取得字段資料長度。
odbc_field_name: 取得字段名稱。
odbc_field_type: 取得字段資料類型。
odbc_free_result: 釋出返回資料的內存。
odbc_longreadlen: 配置返回欄的最大值。
odbc_num_fields: 取得字段數目。
odbc_num_rows: 取得返回列數目。
odbc_pconnect: 長期鏈接至 ODBC 數據庫。
odbc_prepare: 預置 SQL 指令。
odbc_result: 取得返回資料。
odbc_result_all: 返回 HTML 表格資料。
odbc_rollback: 撤消當前交易。
odbc_setoption: 調整 ODBC 配置。
opendir: 打開目錄 handle。
openlog: 打開系統紀錄。
Ora_Bind: 鏈接 PHP 變量到 Oracle 參數。
Ora_Close: 關閉一個 Oracle 的 cursor。
Ora_ColumnName: 得到 Oracle 返回列 (Column) 的名稱。
Ora_ColumnSize: 取得字段類型的大小。
Ora_ColumnType: 得到 Oracle 返回列 (Column) 的類型。
Ora_Commit: 將 Oracle 的交易處理付諸實行。
Ora_CommitOff: 關閉自動執行 Oracle 交易改動的功能。
Ora_CommitOn: 打開自動執行 Oracle 交易改動的功能。
Ora_Do: 快速的 SQL 查詢。
Ora_Error: 獲得 Oracle 錯誤信息。
Ora_ErrorCode: 獲得 Oracle 錯誤代碼。
Ora_Exec: 執行 Oracle 的指令部分。
Ora_Fetch: 取得返回資料的一列 (row)。
Ora_FetchInto: 取回 Oracle 資料放入數組。
Ora_GetColumn: 從返回列 (row) 的資料取得一欄 (column)。
Ora_Logoff: 結束與 Oracle 的鏈接。
Ora_Logon: 打開與 Oracle 的鏈接。
Ora_Numcols: 取得字段的數目。
Ora_Open: 打開 Oracle 的 cursor。
Ora_Parse: 分析 SQL 語法。
Ora_PLogon: 打開與 Oracle 的長期鏈接。
Ora_Rollback: 撤消當前交易。
Ord: 返回字符的序數值。
pack: 壓縮資料到位字符串之中。
parse_str: 解析 query 字符串成變量。
parse_url: 解析 URL 字符串。
passthru: 執行外部程序並不加處理輸出資料。
pclose: 關閉文件。
PDF_add_annotation: 加入註釋。
PDF_add_outline: 目前頁面加入書籤。
PDF_arc: 繪弧。
PDF_begin_page: 啟始 PDF 文件頁面。
PDF_circle: 繪圓。
PDF_clip: 組合所有向量。
PDF_close: 關閉 PDF 文件。
PDF_closepath: 形成封閉的向量形狀。
PDF_closepath_fill_stroke: 形成封閉的向量形狀沿向量繪線並填滿。
PDF_closepath_stroke: 形成封閉的向量形狀並沿向量繪線。
PDF_close_image: 關閉圖文件。
PDF_continue_text: 輸出文字。
PDF_curveto: 繪貝氏曲線。
PDF_endpath: 關閉目前向量。
PDF_end_page: 關閉 PDF 文件頁面。
PDF_execute_image: 放置 PDF 文件中圖片到指定位置。
PDF_fill: 填滿目前的向量。
PDF_fill_stroke: 填滿目前的向量並沿向量繪線。
PDF_get_info: 返回文件信息。
PDF_lineto: 繪直線。
PDF_moveto: 配置處理的坐標點。
PDF_open: 建立新的 PDF 文件。
PDF_open_gif: 打開 GIF 圖文件。
PDF_open_jpeg: 打開 JPEG 圖文件。
PDF_open_memory_image: 打開內存圖文件。
PDF_place_image: 放置圖片到 PDF 文件指定位置。
PDF_put_image: 放置圖片到 PDF 文件。
PDF_rect: 繪長方形。
PDF_restore: 還原環境變量。
PDF_rotate: 旋轉類。
PDF_save: 儲存環境變量。
PDF_scale: 縮放類。
PDF_setdash: 配置虛線樣式。
PDF_setflat: 配置平滑值。
PDF_setgray: 指定繪圖的顏色為灰階並填入。
PDF_setgray_fill: 指定填入的顏色為灰階。
PDF_setgray_stroke: 指定繪圖的顏色為灰階。
PDF_setlinecap: 配置 linecap 參數。
PDF_setlinejoin: 配置連接參數。
PDF_setlinewidth: 配置線寬。
PDF_setmiterlimit: 配置斜邊界限。
PDF_setrgbcolor: 指定繪圖的顏色為彩色並填入。
PDF_setrgbcolor_fill: 指定填入的顏色為彩色。
PDF_setrgbcolor_stroke: 指定繪圖的顏色為彩色。
PDF_set_char_spacing: 配置字符間距。
PDF_set_duration: 配置二頁的切換時間。
PDF_set_font: 配置使用的字型及大小。
PDF_set_horiz_scaling: 配置文字水平間距。
PDF_set_info_author: 配置文件作者。
PDF_set_info_creator: 配置建文件者字符串。
PDF_set_info_keywords: 配置文件的關鍵字。
PDF_set_info_subject: 配置文件主題。
PDF_set_info_title: 配置文件標題。
PDF_set_leading: 配置行距。
PDF_set_text_matrix: 配置文字矩陣。
PDF_set_text_pos: 配置文字位置。
PDF_set_text_rendering: 配置文字表現方式。
PDF_set_text_rise: 配置文字高度。
PDF_set_transition: 配置頁的轉換。
PDF_set_word_spacing: 配置字間距。
PDF_show: 輸出字符串到 PDF 文件。
PDF_show_xy: 輸出字符串到指定坐標。
PDF_stringwidth: 計算字符串的寬度。
PDF_stroke: 沿向量繪線。
PDF_translate: 移動原點。
pfsockopen: 打開網絡的 Socket 持續鏈接。
pg_Close: 關閉 PostgreSQL 服務器連接。
pg_cmdTuples: 取得被 SQL 指令影響的資料筆數。
pg_Connect: 打開 PostgreSQL 服務器連接。
pg_DBname: 取得目前的數據庫名稱。
pg_ErrorMessage: 返回錯誤信息。
pg_Exec: 執行 query 指令。
pg_Fetch_Array: 返回數組資料。
pg_Fetch_Object: 返回類資料。
pg_Fetch_Row: 返回單列的各字段。
pg_FieldIsNull: 檢查字段是否有資料。
pg_FieldName: 返回指定字段的名稱。
pg_FieldNum: 取得指定字段的行數。
pg_FieldPrtLen: 計算可列示的長度。
pg_FieldSize: 計算指定字段的長度。
pg_FieldType: 獲得目前字段的類型。
pg_FreeResult: 釋放返回佔用內存。
pg_GetLastOid: 取得最後的類代碼。
pg_Host: 取得連接機器名稱。
pg_loclose: 關閉大型類。
pg_locreate: 建立大型類。
pg_loopen: 打開大型類。
pg_loread: 讀取大型類。
pg_loreadall: 讀取大型類並輸出。
pg_lounlink: 刪除大型類。
pg_lowrite: 讀取大型類。
pg_NumFields: 取得返回字段的數目。
pg_NumRows: 取得返回列的數目。
pg_Options: 取得連接機器選項。
pg_pConnect: 打開 PostgreSQL 服務器持續連接。
pg_Port: 取得連接機器埠號。
pg_Result: 取得查詢 (query) 的結果。
pg_tty: 取得連接機器終端機。
phpinfo: 返回 PHP 所有相關信息。
phpversion: 返回 PHP 版本信息。
pi: 圓周率。
popen: 打開文件。
pos: 返回數組目前的元素。
pow: 次方。
preg_match: 字符串比對解析。
preg_match_all: 字符串整體比對解析。
preg_replace: 字符串比對解析並取代。
preg_split: 將字符串依指定的規則切開。
prev: 將數組的內部指針往前移動。
print: 輸出字符串。
printf: 輸出格式化字符串。
putenv: 配置系統環境變量。
quoted_printable_decode: 將 qp 編碼字符串轉成 8 位字符串。
QuoteMeta: 加入引用符號。
rand: 取得隨機數值。
range: 建立一個整數範圍的數組。
rawurldecode: 從 URL 專用格式字符串還原成普通字符串。
rawurlencode: 將字符串編碼成 URL 專用格式。
readdir: 讀取目錄 handle。
readfile: 輸出文件。
readgzfile: 讀出壓縮文件。
readlink: 返回符號鏈接 (symbolic link) 目標文件。
recode_file: 記錄文件或文件請求到記錄中。
recode_string: 記錄字符串到記錄中。
register_shutdown_function: 定義 PHP 程序執行完成後執行的函數。
rename: 更改文件名。
reset: 將數組的指針指到數組第一個元素。
rewind: 重置開文件的讀寫位置指針。
rewinddir: 重設目錄 handle。
rmdir: 刪除目錄。
round: 四捨五入。
rsort: 將數組的值由大到小排序。
sem_acquire: 捕獲信號。
sem_get: 取得信號代碼。
sem_release: 釋出信號。
serialize: 儲存資料到系統中。
session_decode: Session 資料解碼。
session_destroy: 結束 session。
session_encode: Session 資料編碼。
session_id: 存取目前 session 代號。
session_is_registered: 檢查變量是否註冊。
session_module_name: 存取目前 session 模塊。
session_name: 存取目前 session 名稱。
session_register: 註冊新的變量。
session_save_path: 存取目前 session 路徑。
session_start: 初始 session。
session_unregister: 刪除已註冊變量。
setcookie: 送出 Cookie 信息到瀏覽器。
setlocale: 配置地域化信息。
settype: 配置變量類型。
set_file_buffer: 配置文件緩衝區大小。
set_magic_quotes_runtime: 配置 magic_quotes_runtime 值。
set_socket_blocking: 切換擱置與無擱置模式。
set_time_limit: 配置該頁最久執行時間。
shm_attach: 打開建立共享內存空間。
shm_detach: 中止共享內存空間鏈接。
shm_get_var: 取得內存空間中指定的變量。
shm_put_var: 加入或更新內存空間中的變量。
shm_remove: 清除內存空間。
shm_remove_var: 刪除內存空間中指定的變量。
shuffle: 將數組的順序弄混。
similar_text: 計算字符串相似度。
Sin: 正弦計算。
sizeof: 獲知數組的大小。
sleep: 暫停執行。
snmpget: 取得指定類識別碼。
snmpwalk: 取得所有類。
snmpwalkoid: 取得網絡本體樹狀信息。
snmp_get_quick_print: 取得 UCD 函數庫中的 quick_print 值。
snmp_set_quick_print: 配置 UCD 函數庫中的 quick_print 值。
solid_close: 關閉 solid 鏈接。
solid_connect: 鏈接至 solid 數據庫。
solid_exec: 執行 SQL 指令。
solid_fetchrow: 取得返回一列。
solid_fieldname: 取得字段名稱。
solid_fieldnum: 取得字段數目。
solid_freeresult: 釋出返回資料的內存。
solid_numfields: 取得字段數目。
solid_numrows: 取得返回列數目。
solid_result: 取得返回資料。
sort: 將數組排序。
soundex: 計算字符串的讀音值
split: 將字符串依指定的規則切開。
sprintf: 將字符串格式化。
sql_regcase: 將字符串逐字返回大小寫字符。
Sqrt: 開平方根。
srand: 配置隨機數種子。
stat: 取得文件相關信息。
strchr: 尋找第一個出現的字符。
strcmp: 字符串比較。
strcspn: 不同字符串的長度。
strftime: 將服務器的時間本地格式化。
StripSlashes: 去掉反斜線字符。
strip_tags: 去掉 HTML 及 PHP 的標記。
strlen: 取得字符串長度。
strpos: 尋找字符串中某字符最先出現處。
strrchr: 取得某字符最後出現處起的字符串。
strrev: 顛倒字符串。
strrpos: 尋找字符串中某字符最後出現處。
strspn: 找出某字符串落在另一字符串遮罩的數目。
strstr: 返回字符串中某字符串開始處至結束的字符串。
strtok: 切開字符串。
strtolower: 字符串全轉為小寫。
strtoupper: 字符串全轉為大寫。
strtr: 轉換某些字符。
strval: 將變量轉成字符串類型。
str_replace: 字符串取代。
substr: 取部份字符串。
sybase_affected_rows: 取得最後 query 影響的列數。
sybase_close: 關閉與數據庫的連接。
sybase_connect: 連上數據庫。
sybase_data_seek: 移動列指針。
sybase_fetch_array: 返回數組資料。
sybase_fetch_field: 取得字段信息。
sybase_fetch_object: 返回類資料。
sybase_fetch_row: 返回單列的各字段。
sybase_field_seek: 配置指針到返回值的某字段。
sybase_free_result: 釋放返回佔用內存。
sybase_num_fields: 取得返回字段的數目。
sybase_num_rows: 取得返回列的數目。
sybase_pconnect: 打開服務器持續連接。
sybase_query: 送出一個 query 字符串。
sybase_result: 取得查詢 (query) 的結果。
sybase_select_db: 選擇一個數據庫。
symlink: 建立符號鏈接 (symbolic link)。
syslog: 紀錄至系統紀錄。
system: 執行外部程序並顯示輸出資料。
Tan: 正切計算。
tempnam: 建立只一的臨時文件。
time: 取得目前時間的 UNIX 時間戳記。
touch: 配置最後修改時間。
trim: 截去字符串首尾的空格。
uasort: 將數組依使用者自定的函數排序。
ucfirst: 將字符串第一個字符改大寫。
ucwords: 將字符串每個字第一個字母改大寫。
uksort: 將數組的索引依使用者自定的函數排序。
umask: 改變目前的文件屬性遮罩 umask。
uniqid: 產生只一的值。
unlink: 刪除文件。
unpack: 解壓縮位字符串資料。
unserialize: 取出系統資料。
unset: 刪除變量。
urldecode: 還原 URL 編碼字符串。
urlencode: 將字符串以 URL 編碼。
usleep: 暫停執行。
usort: 將數組的值依使用者自定的函數排序。
utf8_decode: 將 UTF-8 碼轉成 ISO-8859-1 碼。
utf8_encode: 將 ISO-8859-1 碼轉成 UTF-8 碼。
virtual: 完成apache服務器的子請求 (sub-request)。
vm_addalias: 加入新別名。
vm_adduser: 加入新使用者。
vm_delalias: 刪除別名。
vm_deluser: 刪除使用者。
vm_passwd: 改變使用者密碼。
wddx_add_vars: 將 WDDX 封包連續化。
wddx_deserialize: 將 WDDX 封包解連續化。
wddx_packet_end: 結束的 WDDX 封包。
wddx_packet_start: 開始新的 WDDX 封包。
wddx_serialize_value: 將單一值連續化。
wddx_serialize_vars: 將多值連續化。
xml_error_string: 取得 XML 錯誤字符串。
xml_get_current_byte_index: 取得目前解析為第幾個位組。
xml_get_current_column_number: 獲知目前解析的第幾字段。
xml_get_current_line_number: 取得目前解析的行號。
xml_get_error_code: 取得 XML 錯誤碼。
xml_parse: 解析 XML 文件。
xml_parser_create: 初始 XML 解析器。
xml_parser_free: 釋放解析佔用的內存。
xml_parser_get_option: 取得解析使用的選項。
xml_parser_set_option: 配置解析使用的選項。
xml_set_character_data_handler: 建立字符資料標頭。
xml_set_default_handler: 建立默認標頭。
xml_set_element_handler: 配置元素的標頭。
xml_set_external_entity_ref_handler: 配置外部實體參引的標頭。
xml_set_notation_decl_handler: 配置記法宣告的標頭。
xml_set_object: 使 XML 解析器用類。
xml_set_processing_instruction_handler: 建立處理指令標頭。
xml_set_unparsed_entity_decl_handler: 配置未解析實體宣告的標頭。
yp_errno: 取得先前 YP 操作的錯誤碼。
yp_err_string: 取得先前 YP 操作的錯誤字符串。
yp_first: 返回 map 上第一筆符合的資料。
yp_get_default_domain: 取得機器的 Domain。
yp_master: 取得 NIS 的 Master。
yp_match: 取得指定資料。
yp_next: 指定 map 的下筆資料。
yp_order: 返回 map 的序數。

===================================

2009年6月18日 星期四

JPG/JPEG 檔案格式

這張是從一個論壇抓出來的

JPEG格式
格式:JFIF(JPEG檔的交換格式)
壓縮:JPEG(灰階影像壓縮比約為10:1;彩色影像約為20:1)
以JPEG文件格式保存的圖像實際上是2個不同格式的混合物:JPEG格式規範本身,用來定義圖像的壓縮方法,並且被包在定議分辨率和顏色模式的圖像數據格式之中。Photoshop和實際上每個能讀取和寫入JPEG文件格式的其他應用程序,以 JFIF文件格式(JPEG文件交換格式, JPEG File Interchonge Format)或與JFIF格式非常象的其他格式保存圖像數據。JFIF文件格式只是將一種圖像格或環繞JPEG壓縮的一種簡單方法,它們沒有其他的更多功能。
最初的JFIF文件格式規範史允許8位灰度圖像和24位RGB圖像;但是Adobe『修改」了此種格式,使之也能處理32位CMYK模式的數據。但是,多數版面設計應用程序實際上不能將 CMYK模式的JPEG圖像分離開,所以 Adobe所做的這個修改的意義並不大。JPEG文件格式允許用可變壓縮的方法,保存8位、24位、32位深度的圖像。例如,當以JPEG格式保存一幅 Photoshop圖像時,Photoshop給出了多種保存選項:低壓縮率,中等壓縮率,高壓縮率及最好的分辨率等級別。實驗證明,當進行印刷或在顯示器上觀察時,JPEG一般可將圖像壓縮為原大小的十分之一而看不出明顯差異。圖像會分解成8×8像素圖像單元的小方塊。這種JPEG失真有時會在新聞圖片中發現,這些圖片在進行電子傳輸前被大大地壓縮了,隨後又以高放大倍率進行了印刷。
JPEG使用了有損壓縮格式,這就使它成為迅速顯示圖像並保存較好分辨率的理想格式。也正是由於JPEG格式可以對掃描或自然圖像進行大幅度的壓縮,利於儲存或通過調製解調器進行傳送,所以在Internet上得到了廣泛的應用。
JPEG格式有一個特殊的變種,名為 「Progressive JPEG」。在創建Progressive JPEG 文件肘,數據是這樣安排的:在裝入圖像時,開始只顯示一個模糊的圖像,隨著數據的裝入,圖像逐步變得清晰。
JPEG格式的主要不足之處也正是它的最大優點。也就是說,有損壓縮算法將JPEG只局限於顯示格式,而且每次保存JPEG格式的圖像時都會丟失一些數據。因此,通常只在創作的最後階段以JPEG格式保存一次圖像即可。
JPEG簡介
微處理機中的存放順序有正序(big endian)和逆序(little endian)之分。正序存放就是高位元組存放在前低位元組在後,而逆序存放就是低位元組在前高位元組在後。例如,十六進位數爲A02B,正序存放就是 A02B,逆序存放就是2BA0。摩托羅拉(Motorola)公司的微處理器使用正序存放,而英代爾(Intel)公司的微處理器使用逆序。JPEG文件中的位元組是按照正序排列的。
________________________________________
JPEG委員會在制定JPEG標準時,定義了許多標記(marker)用來區分和識別圖像資料及其相關資訊,但筆者沒有找到JPEG委員會對JPEG文件交換格式的明確定義。直到1998年12月從分析網上具體的JPG圖像來看,使用比較廣泛的還是JPEG文件交換格式(JPEG File Interchange Format,JFIF)版本號爲1.02。這是1992年9月由在C-Cube Microsystems公司工作的Eric Hamilton提出的。此外還有TIFF JPEG等格式,但由於這種格式比較複雜,因此大多數應用程式都支援JFIF文件交換格式。
JPEG文件使用的顔色空間是CCIR 601推薦標準進行的彩色空間(參看第7章)。在這個彩色空間中,每個分量、每個圖元的電平規定爲255級,用8位代碼表示。從RGB轉換成YCbCr空間時,使用下面的精確的轉換關係:
Y = 256 * E'y
Cb = 256 * [E'Cb] + 128
Cr = 256 * [E'Cr] + 128
其中亮度電平E'y和色差電平E'Cb和E'Cb分別是CCIR 601定義的參數。由於E'y的範圍是0~1,E'Cb和E'Cb的範圍是-0.5~+0.5,因此Y, Cb和Cr的最大值必須要箝到255。於是RGB和YCbCr之間的轉換關係需要按照下面的方法計算。
(1) 從RGB轉換成YCbCr
YCbCr(256級)分量可直接從用8位表示的RGB分量計算得到:
Y = 0.299R + 0.587G + 0.114 B
Cb = - 0.1687R - 0.3313G + 0.5B + 128
Cr = 0.5R - 0.4187G - 0.0813B + 128
需要注意的是不是所有圖像文件格式都按照R0,G0,B0,…… Rn,Gn,Bn的次序存儲樣本資料,因此在RGB文件轉換成JFIF文件時需要首先驗證RGB的次序。
(2) 從YCbCr轉換成RGB
RGB分量可直接從YCbCr(256級)分量計算得到:
R = Y + 1.402 (Cr-128)
G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)
B = Y + 1.772 (Cb-128)
在JFIF文件格式中,圖像樣本的存放順序是從左到右和從上到下。這就是說JFIF文件中的第一個圖像樣本是圖像左上角的樣本。
文件結構
JFIF文件格式直接使用JPEG標準爲應用程式定義的許多標記,因此JFIF格式成了事實上JPEG文件交換格式標準。JPEG的每個標記都是由2個位元組組成,其前一個位元組是固定值0xFF。每個標記之前還可以添加數目不限的0xFF填充位元組(fill byte)。下面是其中的8個標記:
1. SOI  0xD8           圖像開始
2. APP0 0xE0           JFIF應用資料塊
3. APPn 0xE1 - 0xEF    其他的應用資料塊(n, 1~15)
4. DQT  0xDB           量化表
5. SOF0 0xC0           幀開始
6. DHT  0xC4           霍夫曼(Huffman)表
7. SOS  0xDA           掃描線開始
8. EOI  0xD9           圖像結束
爲使讀者對JPEG定義的標記一目了然,現將JPEG的標記碼列於表6-05,並保留英文解釋。
表6-05 JPEG定義的標記
Symbol
(符號) Code Assignment
(標記代碼) Deforbiddenion
(說明)
Start Of Frame markers, non-hierarchical Huffman coding
SOF0 0xFFC0 Baseline DCT
SOF1 0xFFC1 Extended sequential DCT
SOF2 0xFFC2 Progressive DCT
SOF3 0xFFC3 Spatial (sequential) lossless
Start Of Frame markers, hierarchical Huffman coding
SOF5 0xFFC5 Differential sequential DCT
SOF6 0xFFC6 Differential progressive DCT
SOF7 0xFFC7 Differential spatial lossless
Start Of Frame markers, non-hierarchical arithmetic coding
JPG 0xFFC8 Reserved for JPEG extensions
SOF9 0xFFC9 Extended sequential DCT
SOF10 0xFFCA Progressive DCT
SOF11 0xFFCB Spatial (sequential) Lossless
Start Of Frame markers, hierarchical arithmetic coding
SOF13 0xFFCD Differential sequential DCT
SOF14 0xFFCE Differential progressive DCT
SOF15 0xFFCF Differential spatial Lossless
Huffman table specification
DHT 0xFFC4 Define Huffman table(s)
arithmetic coding conditioning specification
DAC 0xFFCC Define arithmetic conditioning table
Restart interval termination
RSTm 0xFFD0~0xFFD7 Restart with modulo 8 counter m
Other marker
SOI 0xFFD8 Start of image
EOI 0xFFD9 End of image
SOS 0xFFDA Start of scan
DQT 0xFFDB Define quantization table(s)
DNL 0xFFDC Define number of lines
DRI 0xFFDD Define restart interval
DHP 0xFFDE Define hierarchical progression
EXP 0xFFDF Expand reference image(s)
APPn 0xFFE0~0xFFEF Reserved for application use
JPGn 0xFFF0~0xFFFD Reserved for JPEG extension
COM 0xFFFE Comment
Reserved markers
TEM 0xFF01 For temporary use in arithmetic coding
RES 0xFF02~0xFFBF Reserved
JPEG文件由下面的8個部分組成:
(1) 圖像開始SOI(Start of Image)標記
(2) APP0標記(Marker)
① APP0長度(length)
② 識別字(identifier)
③ 版本號(version)
④ X和Y的密度單位(units=0:無單位;units=1:點數/英寸;units=2:點數/釐米)
⑤ X方向圖元密度(X density)
⑥ Y方向圖元密度(Y density)
⑦ 縮略圖水平圖元數目(thumbnail horizontal pixels)
⑧ 縮略圖垂直圖元數目(thumbnail vertical pixels)
⑨ 縮略圖RGB點陣圖(thumbnail RGB bitmap)
(3) APPn標記(Markers),其中n=1~15(任選)
① APPn長度(length)
② 由於詳細資訊(application specific information)
(4) 一個或者多個量化表DQT(difine quantization table)
① 量化表長度(quantization table length)
② 量化表數目(quantization table number)
③ 量化表(quantization table)
(5) 幀圖像開始SOF0(Start of Frame)
① 幀開始長度(start of frame length)
② 精度(precision),每個顔色分量每個圖元的位元數(bits per pixel per color component)
③ 圖像高度(image height)
④ 圖像寬度(image width)
⑤ 顔色分量數(number of color components)
⑥ 對每個顔色分量(for each component)
o ID
o 垂直方向的樣本因數(vertical sample factor)
o 水平方向的樣本因數(horizontal sample factor)
o 量化表號(quantization table#)
(6) 一個或者多個霍夫曼表DHT(Difine Huffman Table)
① 霍夫曼表的長度(Huffman table length)
② 類型、AC或者DC(Type, AC or DC)
③ 索引(Index)
④ 位表(bits table)
⑤ 值表(value table)
(7) 掃描開始SOS(Start of Scan)
① 掃描開始長度(start of scan length)
② 顔色分量數(number of color components)
③ 每個顔色分量
o ID
o 交流係數表號(AC table #)
o 直流係數表號(DC table #)
④ 壓縮圖像資料(compressed image data)
(8) 圖像結束EOI(End of Image)
表6-06表示了APP0域的詳細結構。有興趣的讀者可通過UltraEdit或者PC TOOLS等工具軟體打開一個JPG圖像文件,對APP0的結構進行分析和驗證。
表6-06 JFIF格式中APP0域的詳細結構
偏移 長度 內容 塊的名稱 說明
0 2 byte 0xFFD8 (Start of Image,SOI) 圖像開始
2 2 byte 0xFFE0 APP0(JFIF application segment) JFIF應用資料塊
4 2 bytes   length of APP0 block APP0塊的長度
6 5 bytes   "JFIF"+"0" 識別APP0標記
11 1 byte   主要版本號(如版本1.02中的1)
12 1 byte   次要版本號(如版本1.02中的02)
13 1 byte  
and Y densities> X和Y的密度單位
units=0:無單位
units=1:點數/英寸
units=2:點數/釐米
14 2 bytes   水平方向圖元密度
16 2 bytes   垂直方向圖元密度
18 1 byte   縮略圖水平圖元數目
19 1 byte   縮略圖垂直圖元數目
3n   <> 縮略RGB點陣圖(n爲縮略圖的圖元數)
Optional JFIF extension APP0 marker segment(s) 任選的JFIF擴展APP0標記段
……   ……  
2 byte 0xFFD9 (EOI) end-of-file 圖像文件結束標記


===================================

如果有侵犯到您的權利 請告知 會馬上刪除

MSN 將圖片畫出來 以手繪訊息送出去

MSN 將圖片畫出來 以手繪訊息送出去

之前朋友給了一個軟體

他可以將圖檔以手繪的方式畫到MSN手繪訊息上面

這樣就可以傳出酷炫手繪訊息

(別人還以為畫出來的哩!! 好像有點誇張)。

這是畫出來的效果,雖然是單一色系的,不過也不錯啦!!
寄件者 FQstory

這軟體主要是先拍照

然後選畫到的地方

再點開始畫

就會開始一筆一畫的畫出來

(小畫家也可以= =)

===================================

真的不錯玩喔 大家可以GOOGLE 找找

2009年5月23日 星期六

PHP 自動更新進入yahoo 拍賣

因為Q經常逛yahoo拍賣,但是都難以搶到拍賣的東西(太多人下標),而且每次都要一直連看好幾的小時,所以心血來潮寫了一個可以每幾秒鐘,就自動更新一次,如果有新的物品po上去,就會自動進入此商品的網頁中。

不過發現沒有很理想,因為很快就出現 yahoo的錯誤999 = =
大家可以試試看

有分兩個檔案,請放在網站根目錄下的test裡面
TEST1.PHP
<?php

session_start();

$seller = "lainjp98";//請輸入賣家帳號

//$fp = fopen("http://tw.user.bid.yahoo.com/tw/user/".$seller,"r");

$fp = fopen("http://tw.user.bid.yahoo.com/tw/user/".$seller."?userID=".$seller."&catID=&catIDselect=&clf=&u=:".$seller."&s1=ptime&o1=d&at=false","r");

$i = 0;

$j = 0;

while(!feof($fp)){

$read = fgets($fp);

$checkread = substr($read,0,14);

echo $read;

//echo ''.$checkread;

if($checkread ==' <td><a href=' and $i == 0){

if (@$read != $_SESSION['save'] and $_SESSION['check'] == '1'){

$check = 'yes';

$msg = explode ('"',$read);

echo $msg[1];

//header("Location: http://127.0.0.1/test/test2.php");

echo '<meta http-equiv="refresh" content="0'.';'.' url=http://127.0.0.1/test/test2.php?msg='.$msg[1].'">';

//echo '<meta http-equiv="refresh" content="5'.'; '.$msg[1].'">';

}

$_SESSION['save'] = $read;

$_SESSION['check'] = '1';

$i = 1 ;

}


}

fclose($fp);

echo $check;



?>

<meta http-equiv="refresh" content="4">

第二個檔案 test2.php 請這樣命名
<?php
$msg = $_GET['msg'];
//echo $msg;
$fp = fopen($msg,"r");
while(!feof($fp)){
$read = fgets($fp);
echo $read;
}
fclose($fp);
?>



當然這還很陽春,有望大家修改修改,呵呵

===================================

PHP 傳送POST使用fsockopen 取代CURL 取得回應

很實用的文章

//接收POST參數的URL
$url = 'http://www.google.com';
//POST參數,在這個陣列裡,索引是name,值是value,沒有限定組數
$postdata = array('post_name'=>'post_value','acc'=>'hsin','nick'=>'joe');
//函式回覆的值就是取得的內容
$result = sendpost($url,$postdata);

function sendpost($url, $data){
//先解析url 取得的資訊可以看看http://www.php.net/parse_url
$url = parse_url($url);
if(!$url) return "couldn't parse url";
//對要傳送的POST參數作處理
$encoded = "";
while(list($k,$v)=each($data)){
$encoded .= ($encoded?"&amp;":'');
$encoded .= rawurlencode($k)."=".rawurlencode($v);
}
//開啟一個socket
$fp = fsockopen($url['host'],($url['port']?$url['port']:80));
if(!$fp) return "Failed to open socket to ".$url['host'];
//header的資訊
fputs($fp,'POST '.$url['path'].($url['query']?'?'.$url['query']:'')." HTTP/1.0rn");
fputs($fp,"Host: ".$url['host']."n");
fputs($fp,"Content-type: application/x-www-form-urlencodedn");
fputs($fp,"Content-length: ".strlen($encoded)."n");
fputs($fp,"Connection: closenn");
fputs($fp,$encoded."n");
//取得回應的內容
$line = fgets($fp,1024);
if(!eregi("^HTTP/1.. 200", $line)) return;
$results = "";
$inheader = 1;
while(!feof($fp)){
$line = fgets($fp,2048);
if($inheader&amp;&amp;($line == "n" || $line == "rn")){
$inheader = 0;
}elseif(!$inheader){
$results .= $line;
}
}
fclose($fp);
return $results;
}

=======END======

PHP 傳送GET使用fsockopen 取代CURL 取得回應

其實直接使用fopen就可以啦!!
不過有看到別人寫了別的方法
避免allow_url_fopen = off 而不能用的方法


function SendGET($_url){
$url = parse_url($_url);
$contents = '';
$fp = fsockopen($url['host'],$url['port']);
if($fp){
$_request = $url['path'].($url['query']==''?'':'?'.$url['query']).($url['fragment']==''?'':'#'.$url['fragment']);
fputs($fp,'GET '.$_request." HTTP/1.0\r\n");
fputs($fp,"Host: ".$url['host']."\n");
fputs($fp,"Content-type: application/x-www-form-urlencoded\n");
fputs($fp,"Connection: close\n\n");
$line = fgets($fp,1024);
if(!eregi("^HTTP/1\.. 200", $line)) return;
else{
$results = '';
$contents = '';
$inheader = 1;
while(!feof($fp)){
$line = fgets($fp,2048);
if($inheader&&($line == "\n" || $line == "\r\n")){
$inheader = 0;
}elseif(!$inheader){
$contents .= $line;
}
}
fclose($fp);
}
}
return $contents;
}

$url = 'http://someone.com:80/index.php?mode=go&id=hsin#top';
$_result = SendGET($url);
print_r($_result);

PHP CURL 發送 GET 和 POST 語法

如果要連到連的網址的話
許多免費空間不支援FOPEN
大家可以使用CURL試試看

PHP CURL

1、http的get傳送

$ch = curl_init("/") ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
$output = curl_exec($ch) ;
$fh = fopen("out.html", 'w') ;
fwrite($fh, $output) ;
fclose($fh) ;

2、http的post傳送

EX1

$URL="www.mysite.com/test.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://$URL");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "Data1=blah&Data2=blah");curl_exec ($ch);
curl_close ($ch);


EX2

//extract data from the post
extract($_POST) ;
//set POST variables
$url = '/get-post.php' ;
$fields = array(
'lname'=>urlencode($last_name) ,
'fname'=>urlencode($first_name) ,
'title'=>urlencode($title) ,
'company'=>urlencode($institution) ,
'age'=>urlencode($age) ,
'email'=>urlencode($email) ,
'phone'=>urlencode($phone)
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; }
rtrim($fields_string ,'&') ;
//open connection
$ch = curl_init() ;
//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL,$url) ;
curl_setopt($ch, CURLOPT_POST,count($fields)) ;
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string) ;
//execute post
$result = curl_exec($ch) ;
//close connection
curl_close($ch) ;

0-c.php.ini 配置詳細解說

php.ini 配置詳細選項
作者:DDVIP
top

php.ini 或 php3.ini 是 PHP 在啟動時會讀取的配置文件。該文件的存放路徑為 /usr/local/lib/。在 PHP 3.x 版的配置文件為 php3.ini;而在 PHP 4.x 版改為 php.ini。若 PHP 安裝成服務器的模塊,則在 Web 服務器啟動執行時會讀取,之後就不再讀取,因此改動配置的話要重新啟動 Web 服務器。若使用獨立 PHP CGI 方式,則每次都讀一次。
要看目前的系統配置,可以用phpinfo()看到。以下為選項配置

php_value name value
配置變量名稱和值。本選項需 PHP 4.x 版之後才能使用。


php_flag name onoff
配置標誌布爾變量選項。本選項需 PHP 4.x 版之後才能使用。


php_admin_value name value
配置 Apache 的配置文件變量。原來在 .htaccess 的配置改到這個選項配置。本選項需 PHP 4.x 版之後才能使用。


php_admin_flag name onoff
配置布爾變量當標誌。本選項需 PHP 4.x 版之後才能使用。


asp_tags boolean
配置 PHP 程序是否解析以 ASP Script 語法 的標記 (tag)。本選項在 PHP 3.0.4 之後才可使用。更多的細節可以參考>嵌入方法的部份。


auto_append_file string
配置本選項可以讓指定的文件附加在原 PHP 程序後面自動執行。若 PHP 程序中有用到 exit() 函數,則指定的文件不會執行。參數 string 即為指定自動執行的文件。


auto_prepend_file string
配置本選項可以讓指定的文件在原 PHP 程序之前自動執行。參數 string 即為指定自動執行的文件。


cgi_ext string
本選項配置 CGI 程序的擴展名。


display_errors boolean
本選項配置是否要將執行的錯誤信息顯示在用戶的瀏覽器上。


doc_root string
配置服務器的文件及 PHP 文件放置的根目錄。


engine boolean
本選項需要使用apache的模塊方式使用 PHP。可配置是否要使用 PHP 引擎。在 httpd.conf 中加入 php3_engine on/off 亦可配置某目錄或某虛擬網站是否要用 PHP 解析器。


error_log string
本選項用來配置錯誤記錄文件。在 UNIX 系統上參數 string 即為文件名。Windows NT 會將記錄記在事件檢視器的日誌之中。Windows 95/98 則不支持系統記錄。


error_reporting integer
本選項用來配置系統記錄的等級。參數 integer 即為等級的級數標誌,可以加在一起,默認值為 7


open_basedir string
本選項用來配置提供 PHP 存取的最底層目錄。從該指定目錄之下的文件或目錄,PHP 程序才能存取。使用本選項主要是為了系統安全性的考慮。參數 string 即為要限制的最底層目錄節點。值得注意的是在 UNIX 系統中,若該節點之下的文件或目錄有符號鏈結 (symbolic link),則可能會讓使用本選項的目的打折,因此在目錄的設計上考慮,也是 Webmaster 的重要任務。默認值是所有文件均可存取。在 PHP 3.0.7 版之後,可以配置多個底層目錄。


gpc_order string
配置 GET/POST/COOKIE 三種模塊的順序及規則。參數 string 即為要配置的規則,例如:配置成 "GP" 表示忽視 cookie,並在存取方法 (method) 相同時,以 POST 取代 GET。


ignore_user_abort string
默認值為 Off。用來配置當傳輸未完成時,用戶端斷線是要繼續處理。


include_path string
為 PHP 程序中 require、include 及 fopen_with_path 等函數的文件搜尋路徑。在 UNIX 或 Windows 中的斜線方向不同。


log_errors boolean
指定程序錯誤時是否要記錄在 log 文件中。


magic_quotes_gpc boolean
配置 GET/POST/COOKIE 三種模塊的特殊字符,包含單引號、雙引號、反斜線、及空字符 (NUL) 是否要自動加入反斜線當溢出字符。


magic_quotes_runtime boolean
配置返回資料是否自動加入反斜線當溢出字符。


magic_quotes_sybase boolean
配置 sybase 資料中單引號要自動加上反斜線當溢出字符。


max_execution_time integer
配置程序最久執行時間。單位是秒。


memory_limit integer
配置程序最多使用多少內存。


short_open_tag boolean
配置是否使用短的 PHP 標記 ()。若不使用,則必須要用

track_errors boolean
打開本選項可使最後的錯誤信息跟著全局變量 $php_errormsg。


track_vars boolean
打開本選項可讓用戶輸入的字符串自動解析到變量之中,而不用自己處理。


upload_tmp_dir string
指定上傳文件臨時路徑。


user_dir string
指定用戶根目錄的路徑。


warn_plus_overloading boolean
若打開本選項,字符串間就只能用英文的句號 (.) 鏈接,而不能用加號 (+) 鏈接字符串。


SMTP string
在 Windows 系列操作系統中,用來指定 SMTP 服務器,供 mail 函數使用。參數 string 為 SMTP 服務器名字。


sendmail_from string
配置 "From: " 字符串供 Windows 系列操作系統使用 mail 函數。


sendmail_path string
配置 sendmail 程序的放置路徑。例如 /usr/sbin/sendmail。


safe_mode boolean
配置 PHP 在安全模式下執行。


safe_mode_exec_dir string
配置安全模式程序執行的路徑。


debugger.host string
指定遠端調試的服務器名稱,可以是 IP 或 Domain Name。


debugger.port string
配置遠端調試服務器的端口 (port)。


debugger.enabled boolean
配置是否可以為調試模式。


enable_dl boolean
本選項要使用apache模塊 (Apache module) 的方式才有效。用來配置 PHP 的函數可否作用。當系統處於安全模式 (safe-mode) 時,本選項 enable 也無法使用 dl() 函數。


extension_dir string
配置動態函數的路徑。


extension string
PHP 啟動時所要載入的動態擴充功能。


mysql.allow_persistent boolean
配置是否允許 MySQL 數據庫持續連接 (persistent connections),會影響函數。


mysql.max_persistent integer
配置每個處理程序最多保持幾個 MySQL 持續連接。


mysql.max_links integer
配置每個處理程序最多開幾個 MySQL 連接,包括持續連接。


msql.allow_persistent boolean
配置是否允許 mSQL 數據庫持續連接 (persistent connections),會影響函數。


msql.max_persistent integer
配置每個處理程序最多保持幾個 mSQL 持續連接。


msql.max_links integer
配置每個處理程序最多開幾個 mSQL 連接,包括持續連接。


pgsql.allow_persistent boolean
配置是否允許 Postgres 數據庫持續連接 (persistent connections),會影響函數。


pgsql.max_persistent integer
配置每個處理程序最多保持幾個 Postgres 持續連接。


pgsql.max_links integer
配置每個處理程序最多開幾個 Postgres 連接,包括持續連接。


sybase.allow_persistent boolean
配置是否允許 Sybase 數據庫持續連接 (persistent connections),會影響函數。


sybase.max_persistent integer
配置每個處理程序最多保持幾個 Sybase 持續連接。


sybase.max_links integer
配置每個處理程序最多開幾個 Sybase 連接,包括持續連接。


sybct.allow_persistent boolean
配置是否允許 Sybase-CT 數據庫持續連接 (persistent connections),默認值是打開的。


sybct.max_persistent integer
配置每個處理程序最多保持幾個 Sybase-CT 持續連接。默認值為 -1 表示無限制。


sybct.max_links integer
配置每個處理程序最多開幾個 Sybase-CT 連接,包括持續連接。默認值為 -1,表示沒有限制。


sybct.min_server_severity integer
配置 Sybase-CT 服務器錯誤報告的最少筆數。默認值為 10。


sybct.min_client_severity integer
配置 Sybase-CT 客戶端錯誤報告的最少筆數。默認值為 10。


sybct.login_timeout integer
配置 Sybase-CT 最久可以使用的登入時間。默認值為 1 分鐘。


sybct.timeout integer
配置 Sybase-CT 的 query 操作時間限制。默認值為無限制。


sybct.hostname string
配置 Sybase-CT 可連接機器名稱。默認值不設限


ifx.allow_persistent boolean
配置是否允許 Informix 數據庫持續連接 (persistent connections),會影響函數。


ifx.max_persistent integer
配置每個處理程序最多保持幾個 Informix 持續連接。


ifx.max_links integer
配置每個處理程序最多開幾個 Informix 連接,包括持續連接。


ifx.default_host string
配置 Informix 默認連接的服務器名稱,供ifx_connect()或ifx_pconnect()函數使用。


ifx.default_user string
配置 Informix 默認連接的用戶帳號,供ifx_connect()或ifx_pconnect( 函數使用。


ifx.default_password string
配置 Informix 默認連接的用戶密碼,供ifx_connect()或ifx_pconnect() 函數使用。


ifx.blobinfile boolean
配置 Informix 長位類模式,0 表在內存;1 表在文件中。亦可以在 PHP 程序中使用ifx_blobinfile_mode()函數來修改。


ifx.textasvarchar boolean
配置 Informix 文字模式默認值,0 表返回 blob 的代碼;1 表返回 varchar 字符串。亦可在 PHP 程序中使用ifx_textasvarchar() 函數來修改配置。


ifx.byteasvarchar boolean
配置 Informix 位組模式默認值,0 表返回 blob 的代碼;1 表返回 varchar 字符串。亦可在 PHP 程序中使用ifx_byteasvarchar() 來修改配置。


ifx.charasvarchar boolean
配置 Informix 返回字符串的字尾空格是否要自動去除。


ifx.nullformat boolean
配置 NULL 字段的返回方式,true 表示返回字符串 NULL,false 表格返回字符串 ""。亦可在 PHP 程序中以ifx_nullformat() 修改。


bcmath.scale integer
配置 BC 高精確度函數庫的小數點位數。


browscap string
配置瀏覽器的開文件能力名。


uodbc.default_db string
配置 ODBC 默認連接的數據庫名稱,供odbc_connect()或odbc_pconnect()函數使用。


uodbc.default_user string
配置 ODBC 默認連接的用戶帳號,供odbc_connect()或odbc_pconnect()函數使用。


uodbc.default_pw string
配置 ODBC 默認連接的用戶密碼,供odbc_connect()或函數使用。


uodbc.allow_persistent boolean
配置是否允許 ODBC 數據庫持續連接 (persistent connections),會影響odbc_pconnect()函數。


uodbc.max_persistent integer
配置每個處理程序最多保持幾個 ODBC 持續連接。


uodbc.max_links integer
配置每個處理程序最多開幾個 ODBC 連接,包括持續連接。

以下和 session 有關的配置值,都在 PHP 4.x 以上的版本方支持。在 php.ini 的配置文件中。

session.save_handler
定義 session 儲存資料的文件名稱。默認值為 files。


session.save_path
定義 session 儲存資料的文件路徑。默認值為 /tmp。


session.name
配置 session 所使用的 cookie 名稱。默認值為 PHPSESSID。


session.auto_start
配置 session 是否自動打開。默認值為 0 (否)。


session.lifetime
配置 cookie 送到瀏覽器後的保存時間,單位為秒。默認值為 0,表示直到瀏覽器關閉。


session.serialize_handler
定義連續/解連續資料的標頭,本功能只有 WDDX 模塊或 PHP 內部使用。默認值為 php。


session.gc_probability
配置每筆要求回應時的廢物蒐集 (gc, garbage collection) 處理機率。默認值為 1。


session.gc_maxlifetime
配置廢物被清除前的存活秒數。


session.extern_referer_check
決定參照到客戶端的 Session 代碼是否要刪除。有時在安全或其它考慮時,會配置不刪除。默認值為 0。


session.entropy_file
配置 session 代碼建立時,使用外部高熵值資源或文件來建立,例如 UNIX 系統上的 /dev/random 或 /dev/urandom。


session.entropy_length
配置 session 從高熵值資源讀取的位組數。默認值為 0。


session.use_cookies 配置是否要將 session 變成 cookie 存在用戶端。默認值為 1,表是打開本功能。

APACHE PHP MYSQL WindowsXP 安裝教學

這篇是之前在無名發過的,然後拿來用,不過因為表格的關係,所以格試怪怪的,然後圖片也是無名上的,所以有的時候會顯示不出來,如果有需要,請參考完整版本
http://www.wretch.cc/blog/njqa3024/6965224


不過最後發現了一個折衷的辦法,google可以用投影片播放,呵呵













Apache網路伺服器,扮演著serve的角色,別人只要輸入IP或是網址就可以連到這個伺服器,然後如果有放置網頁,apache就會解釋翻譯這些網頁,並傳送給瀏覽者(viewer),瀏覽者就可以看到你做的網頁。一般apache只支援基本的html靜態語法。
PHP性質上就類似一個處理程序,可以寫一個程式,當一筆資料進到這個程式之後可以轉換成另外一個東西,算是比較後台的運作。如果要用在網站上,必須要配合伺服器(ex. apache),也算是幫助伺服器可以解讀更多的程式碼。
MYSQL就是專門處理大量資料的資料庫。可以簡單的讀取或儲存甚至處理大量資料。














在安裝前要先準備好這三個安裝程式



apache

下載頁面

直接下載

(apache_2.2.10-win32-x86-no_ssl.msi)



php

下載頁面

直接下載

(PHP 5.2.6 installer)



mysql

下載頁面

直接下載

(mysql-essential-5.1.29-rc-win32.msi)









這邊以安裝檔的形式介紹,sorce code 安裝方法先略過



先安裝apache





然後安裝php





最後安裝mysql





這樣基本上就安裝完成了



打開瀏覽器,輸入localhost 如果跑出這畫面,就是成功了(apache)



至於要啟動php 就要先把下面的設定完成並且重新啟動apache












apache httpd.conf 設定



開啟



C:\apache\conf\httpd.conf



然後開始改一些設定



搜尋(ctrl + f),因為設定頗多,所以用搜尋



DocumentRoot "C:/apache/htdocs"

網頁放置的位置



DirectoryIndex index.php index.html index.htm

網頁開啟的順序 這邊設定php先開啟



之後將看到最下面



#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

#指定php.ini存放的目錄

PHPIniDir "C:/apache/php/"



#載入php的模組

LoadModule php5_module "C:/apache/php/php5apache2_2.dll"

#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL



除了這些以外

還要自己再輸入



#指名附檔名是 .php .phtml .inc .php3的程式都當成php程式 ,

其於的都當成一般網頁

AddType application/x-httpd-php .php .phtml .inc .php3






然後存檔,重開apache 即可






基本上這樣就大公告成了,至於php.ini再這邊就不提了