php上傳文件用什么mimetype?
1.判斷上傳文件的擴(kuò)展名和mim
在PHP中如何正確創(chuàng)建函數(shù)?
tep1gt
php的擴(kuò)展模塊都放在ext/directory中,比如snmp模塊,mysql模塊。如果我們想要構(gòu)建自己的模塊,我們必須在ext目錄下為自己的模塊構(gòu)建一個(gè)目錄。比如我們要做一個(gè)分析配置文件的模塊,命名為PCOFIGmodule(parseconfig的簡(jiǎn)稱),需要在ext下建立目錄pcofig。將我編寫的七個(gè)文件復(fù)制到這個(gè)目錄中,并對(duì)主目錄中的configure和internal_functions.c進(jìn)行一些更改。
第二步gt
這是一個(gè)模板文件。當(dāng)用戶執(zhí)行configure時(shí),會(huì)調(diào)用這兩個(gè)文件來生成編譯時(shí)使用的Makefile。修改的時(shí)候,把小寫的PCOFIG改成你自己的模塊名,不要不要忘記替換大寫的pcofig(don;不要告訴我你可以。;t替換vi)。Config.m4也是執(zhí)行configure時(shí)將調(diào)用的檢測(cè)腳本程序。稍后,我們將討論這些腳本的進(jìn)一步修改。現(xiàn)在你要做的就是把pconfig變成你的模塊。對(duì)和執(zhí)行相同的操作。事實(shí)上,它沒有用的。
第三步gt
Php3-pconfig.h頭文件
外部php3_模塊_入口pconfig_模塊_入口
#定義pconfig_module_ptramppconfig_module_entry
#definePHPext_pconfig_ptrpconfig_module_ptr
這些線定義了模塊的入口。注冊(cè)了php的入口后,php會(huì)通過模塊的入口找到你寫的函數(shù)。
下面的函數(shù)定義都是用宏定義的,擴(kuò)展后其實(shí)就是php3_minit_pconf。Ig,PHP3_rinit_pconfig...分別在初次試用或模塊結(jié)束時(shí)調(diào)用。如果你的模塊是簡(jiǎn)單的,你不我不需要這些定義。
外部PHP_MINIT_FUNCTION(pconfig)
外部PHP_RINIT_FUNCTION(pconfig)
外部PHP_MSHUTDOWN_FUNCTION(pconfig)
PHP_MINFO_FUNCTION
這是你的函數(shù)聲明,以后php腳本語(yǔ)句中寫的函數(shù)名就是PHP_FUNCTION中定義的名字。
PHP_函數(shù)(pconfig_test)
如果不止一個(gè),可以繼續(xù)添加更多。
PHP_FUNCTION(pconfig_parsefile)
PHP_FUNCTION(pconfig_release)……。
第四步gt
接下來,讓我們讓我們看看最重要的C代碼
function_entrypconfig_functions[]{
PHP_FE(pconfig_test,NULL)
{空,空,空}
}
定義你的函數(shù)的入口(我們前面提到了模塊的入口)。根據(jù)格式編寫你在頭文件中定義的函數(shù)。注意,這是由宏定義的,不管語(yǔ)法是否正確。我們將在后面詳細(xì)討論這些宏的用法。
PHP3_module_entrypconfig_module_entry{