这篇文章主要介绍了PHP检查文件是否存在,不存在自动创建及读取文件内容操作,结合实例形式分析了PHP针对文件的检测、创建、遍历、读取等相关操作技巧,需要的朋友可以参考下
本文实例讲述了PHP检查文件是否存在,不存在自动创建及读取文件内容操作。分享给大家供大家参考,具体如下:
<?php
$filename = 'a/b.html';
$writetext = 'ssssssssssss';
$result = jwritefile($filename, $writetext);
var_dump($result);die;
function jwritefile($filename, $writetext) {
$position = strrpos($filename,'/');
$path = substr($filename,0,$position);
if(!file_exists($path)){
mkdir($path,0777,true);
}
$updatetime = filemtime($filename);
$difftime = time()-$updatetime;
if($difftime > 3600){//时间大于一个小时
if (@file_put_contents($filename, $writetext, LOCK_EX)) {
return 1;
}else {
return -1;
}
}else{
return 0;//时间小于1一个钟头,不用生成
}
}
?>
<?php
$filename = $path.'log/'.gmdate('Ym').'/'.gmdate('j').'.log';//文件地址
$position = strrpos($filename,'/');
$path = substr($filename,0,$position);
if(!file_exists($path)){
mkdir($path,0777,true);//创建目录
}
$fp=@fopen($filename,"a+");
$content = $log."-".date('Y-m-d H:i:s')."\r\n";
@fputs($fp,$content);
@fclose($fp);
?>
读取文件内容
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>
附加说明:
mode | 说明 |
---|---|
'r' | 只读方式打开,将文件指针指向文件头。 |
'r+' | 读写方式打开,将文件指针指向文件头。 |
'w' | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'w+' | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'a' | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'a+' | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'x' | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
'x+' | 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件 |
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP目录操作技巧汇总》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
沃梦达教程
本文标题为:PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
基础教程推荐
猜你喜欢
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- PHP中的错误及其处理机制 2023-06-04
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- 使用PHP开发留言板功能 2023-03-13
- php array分组,PHP中array数组的分组排序 2022-08-01
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP命名空间简单用法示例 2022-12-01
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02