文件操作相关的函数
函数 作用
touch() 创建一个文件 使用方法touch("文件名")
unlink() 删除一个文件 使用方法unlink("文件路径")
rename() 移动文件或重命名文件 使用方法rename("当前 文件路径","目标文件路径")
copy() 拷贝文件 使用方法copy("当前","目标")
文件的打开与关闭(读内容和写内容)
函数 作用
file_get_contents() 读取文件内容
file_put_contents() 写入文件内容
file() 将文件读入一个数组中
readfile() 读取文件内容并输出
例一:
//读取函数 file_get_contents() 和写入函数file_put_contents() 的使用
$str=file_get_contents("http://www.baidu.com");
//将百度读取到$str
$str_img='/\/i'; //定义正则规则
preg_match_all($str_img,$str,$imgs); //使用匹配函数进行标签的匹配
echo '
';
print_r($imgs);
echo $imgs[0][0];
echo '
';echo '
';
$newimg='';
foreach ($imgs[0] as $img){ //遍历匹配出来的$imgs图片数组
$newimg.=$img.'
/>';
}
echo $newimg;
file_put_contents('test.txt',$newimg); //将获取的$newimg写入文件test.txt中
?>
例二:
//读取指定文件(config.inc.php)的内容,对部分进行修改并写入原文件中
if(isset($_POST["sub"])){ //判断有内容提交
setConfig($_POST);
}
function setConfig ($post){
$str=file_get_contents("config.inc.php");
//读取config.inc.php内容
$zz=array();
$rep=array();
foreach($post as
$key=>$value){
$zz[]='/define\(\"'.$key.'\",\s*.*?\);/i'; //利用遍历数组生成正则表达式
$rep[]='define("'.$key.'",
"'.$value.'");'; //利用遍历数组生成替换内容表达式
}
echo
'
'; //输出原型,检查正则表达式和替换内容是否正确
print_r($zz);
print_r($rep);
print_r($post);
echo
'
';$str=preg_replace($zz,$rep,$str); //利用替换函数对$str进行替换
file_put_contents("config.inc1.php",$str);
//将替换好的内容写入文件
}
?>
file_get_contents()和file_put_contents()实例method="post">
/>
Host:
name="DB_HOST" />
User:
name="DB_USER" />
Pass:
name="DB_PWD" />
/>
DBname:
name="DB_NAME" />
/>
TAB_PREFIX:
name="TAB_PREFIX" />
/>
value="提交">
/>
例三:
//利用file()函数将文件cms.sql读入数组中进行处理 ,trim()处理空格 ,explode()分割
$lines=file("cms.sql"); //将cms.sql读入$line数组中
$sqlstr="";
echo
'
'; //显示读入的结果
print_r($lines);
echo '
';echo '
';
foreach($lines as $line){ //获取读入的每行数据
$line=trim($line); //去除每行两本的空格
if($line!=""){ //获取不是空白的行
if(!($line{0}=="#" ||
substr($line,0,2)=="--")){ //排除注释
$sqlstr.=$line; //将所有行连接起来
}
}
}
$sqlstr=rtrim($sqlstr); //去除最后的分号;
$sql_contents=explode(";",$sqlstr); //用分割函数以;为标志进行分割
echo '
'; //输出分割后的数据
print_r($sql_contents);
echo '
';?>