php創建文件的函數
『壹』 php常用函數有哪些
常用函數比較多
如:字元串處理函數,數組函數,日期函數,Mysql函數,文件系統函數,GD函數庫等
『貳』 php 判斷是否有文件夾 創建文件夾
<?php
//php 判斷文件夾目錄是否存在和創建目錄
//php將上傳圖片按年月文件夾保存,需要判斷和創建文件目錄的方法。
$dir_ym.="uploads/".date("Y").date("m"); //需要創建的文件夾目錄
MkFolder($dir_ym); //創建目錄
/*遞歸建立多層目錄函數*/
function MkFolder($path){
if(!is_readable($path)){
MkFolder( dirname($path) );
if(!is_file($path)) mkdir($path,0777);
}
}
?>
『叄』 php如何創建文件和文件夾!
$file = "文件完整路徑";
if(!file_exists($file)){
$fp=fopen("$file", "w+"); //打開文件指針,創建文件
fwrite($fp, "寫入內容");
fclose($fp)
}
file_exists()這個函數用於檢測指定文件是否存在,同樣可以用於判斷文件夾;
fopen()這個函數是打開某文件,如果文件不存在會自動創建;
fwrite()這個函數用於向某一打開文件中寫入內容;
fclose()這個函數用於關閉打開的文件。
『肆』 關於php中file_put_contents函數
這個函數 其實還有個 可選參數的
file_put_contents(file,data,mode)
mode :
可選。規定如何打開/寫入文件。可能的值:
FILE_USE_INCLUDE_PATH
FILE_APPEND
LOCK_EX
默認是 FILE_USE_INCLUDE_PATH 他會檢查你的文件路徑 結果 就是 123
如果你選擇 FILE_APPEND 那麼就是 123123123
LOCK_EX 顧名思義就是鎖定文件
『伍』 在PHP中如何正確創建函數
Step 1 =>
php的擴展模塊都放在 ext/ 目錄下,比如說 snmp模塊、mysql模塊。 我們要建立自己的模塊,就要在ext目錄下為自己的模塊建一個目錄。比如,我們要做一個分析config文件的模塊,命名為pconfig模塊(parse config的簡寫),需在ext下建立目錄pconfig。將我寫好的7個文件到該目錄下,另外需對主目錄下的configure和internal_functions.c作一些修改。
Step 2 =>
Makefile.am Makefile.in
是模板文件,用戶執行configure時,會調用這兩個文件,生成編譯時所用的Makefile文件。修改時將小寫的pconfig換成你自己的模塊名,別忘了把大寫的PCONFIG也替換掉(不要告訴我你不會vi的替換語句)。config.m4也是執行configure將會調用的檢測腳本程序,以後我們來討論這些腳本程序的更深入的修改。現在你只需要把pconfig該成你的模塊就可以了。對config.h.stub和setup.stub也如法炮製。其實setup.stub也沒什麼用。
Step 3 =>
php3-pconfig.h 頭文件中
extern php3_mole_entry pconfig_mole_entry;
#define pconfig_mole_ptr &pconfig_mole_entry
#define phpext_pconfig_ptr pconfig_mole_ptr
這幾行定義了模塊的入口,將入口注冊到php後,php會通過模塊入口找到你寫的函數
下面幾個函數定義是用宏進行定義的,展開以後其實就是 php3_minit_pconfig , php3_rinit_pconfig ……分別在你的模塊初試化或結束時被調用,如果你的模塊很簡單,也就不需要這些定義了
extern PHP_MINIT_FUNCTION(pconfig);
extern PHP_RINIT_FUNCTION(pconfig);
extern PHP_MSHUTDOWN_FUNCTION(pconfig);
PHP_MINFO_FUNCTION(pconfig);
這是你的函數聲明,將來寫在php腳本語句中的函數名就是在PHP_FUNCTION中定義的名字。
PHP_FUNCTION(pconfig_test);
如果有多個,還可以繼續往下加
PHP_FUNCTION(pconfig_parsefile);
PHP_FUNCTION(pconfig_release); …….
Step 4 =>
接下來我們看最重點的C代碼了
function_entry pconfig_functions[] = {
PHP_FE(pconfig_test, NULL)
{NULL, NULL, NULL}
};
定義的是你的函數的入口(前面我們提到過模塊的入口),按照格式將你在頭文件中定義的函數寫進去吧。注意,這是用宏定義的,不要管語法是否正確。以後我們具體討論這些宏的用法。
php3_mole_entry pconfig_mole_entry = {
"pconfig", pconfig_functions, PHP_MINIT(pconfig), PHP_MSHUTDOWN(pconfig), PHP_RINIT(pconfig), NULL, PHP_MINFO(pconfig), STANDARD_MODULE_PROPERTIES
};
注冊模塊的入口信息,比如模塊名,函數介面,初試化模塊將調用的函數等等,如果你的模塊不執行復雜操作的話,可以忽略掉他們,寫成
php3_mole_entry pconfig_mole_entry = {
"pconfig", pconfig_functions, NULL,NULL,NULL,NULL,NULL,STANDARD_MODULE_PROPERTIES
};
Step 5 =>
寫你自己的函數
在頭文件和function_entry處,我們已經定義了自己的函數pconfig_test,現在我們就來實現pconfig_test的功能。就比如執行兩個數相加的和吧。
static void _php3_pconfig_test(INTERNAL_FUNCTION_PARAMETERS)
{ ......
}
PHP_FUNCTION(pconfig_test)
{
_php3_pconfig_test(INTERNAL_FUNCTION_PARAM_PASSTHRU);
}
當系統調用pconfig_test時,會調用你的_php3_pconfig_test函數,當然你也可以把_php3_pconfig_test里的內容直接寫在PHP_FUNCTION(pconfig_test)中,這樣做只是程序結構比較清晰。注意:不要將_php3_pconfig_test命名成php3_pconfig_test,PHP_FUNCTION(pconfig_test)宏展開後實際上就是php3_pconfig_test!
Step 6 =>
好了,現在我們開始修改configure,在echo $ac_n "checking for MySQL support""... $ac_c" 1>&6的前面(當然,如果你熟悉configure的話,可以加在任何合適的地方)加上下面幾句話
if test "${with_pconfig+set}" = set; then
withval="$with_pconfig"
# Add your lib in here
EXTRA_LIBS="$EXTRA_LIBS"
# Add your include path in here
INCLUDES="$INCLUDES"
EXT_SUBDIRS="$EXT_SUBDIRS pconfig"
EXT_LIBS="$EXT_LIBS pconfig/libphpext_pconfig.a"
EXTINFO_DEPS="$EXTINFO_DEPS ../ext/pconfig/extinfo.c.stub"
EXT_STATIC="$EXT_STATIC pconfig"
fi
修改internal_functions.c,在頭文件定義中加入#include "ext/pconfig/php3_pconfig.h"
在zend_mole_entry數組中加入phpext_pconfig_ptr,
Step 7 =>
從新configure,帶上需要的參數,不要忘記的是在參數里加入 --with-pconfig
Step 8 =>
index.php3
<? echo pconfig_test(123,678)."
"; ?>
執行%>php index.php3
810
『陸』 php如何能創建一個函數全局都可以隨時調用。
把你要用到的函數都寫在一個文件裡面,
在入口文件裡面直接去include這個文件.
這樣不會佔用你太多資源的 ,因為PHP解釋器在執行請求的過程中,會判斷請求用到的函數去調用.即使文件被包含,也是服務端的處理工作,不會被發送到請求的發送端.對效率的影響可以忽略不計.
『柒』 php裡面新建文件的函數是什麼
新建文件夾的函數為mkdir
『捌』 php使用函數創建並刪除目錄
判斷文件或文件夾存在的函數是file_exists(),而你的mkdir("目錄名")這個是創建文件夾的,還有你的創建函數fopen,如果要想創建成功必要要有寫的許可權,我在測試的時候只用讀的許可權就不行!刪除文件夾用rmdir(),刪除文件用unlink("文件名路徑"),下面是我寫的代碼,可以進行參考:
$dir = "abc.txt";
$root_dir = str_replace("fopen.php","",__FILE__);
$filedir=$root_dir.$dir;
if(!file_exists($filedir))
{
fopen($filedir,w);
}else
{
echo "文件已存在";
}
if(file_exists($filedir))
{
unlink($filedir);
if(!file_exists($filedir))
{
echo "刪除成功";
}else
{
echo "刪除失敗";
}
}else
{
echo "文件已刪除或者尚未創建";
}
『玖』 phpinfo怎麼用
顯示PHP的當前信息,其中包括PHP擴展和編譯版本,伺服器信息和環境,PHP環境中,路徑,主機和本地配置選項,HTTP頭,PHP許可等等(詳細信息可參考PHP手冊)。要得到這些信息,不僅可以從瀏覽器中查看,還可以使用命令行在伺服器上查看。
使用瀏覽器查看很簡單,:只需要在網站目錄創建一個PHP文件,使用上面提到的phpinfo()函數,如:
1:<?php
2:phpinfo();
3:?>
然互在瀏覽器中輸入此文件路徑即可查看。
在Linux伺服器上,還可以使用如下命令,不用瀏覽網頁同樣可以查看PHP信息,如:
php -r 'phpinfo();'
此命令同樣可以得到網頁形式的結果。
(9)php創建文件的函數擴展閱讀:
phpinfo使用說明:
boolphpinfo([ int$what = INFO_ALL ] )
輸出PHP當前狀態的大量信息,包含了 PHP 編譯選項、啟用的擴展、PHP 版本、伺服器信息和環境變數(如果編譯為一個模塊的話)、PHP環境變數、操作系統版本信息、path 變數、配置選項的本地值和主值、HTTP 頭和PHP授權信息(License)。
因為每個系統安裝得有所不同,phpinfo()常用於在系統上檢查 配置設置和 預定義變數。
phpinfo()同時是個很有價值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 數據的調試工具。
『拾』 php用哪個函數可以生成本來不存在的html文件
是的,file_put_contents 就可以,也可以使用fopen和fputs,但是本質沒什麼區別,file_put_contents 失敗的時候,fopen一樣會失敗,關健是要查找失敗的原因,是否磁碟滿,或者對制定文件夾沒有許可權。