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一样会失败,关健是要查找失败的原因,是否磁盘满,或者对制定文件夹没有权限。