PHP文件编程的介绍
内容导读
收集整理的这篇技术教程文章主要介绍了PHP文件编程的介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6297字,纯文字阅读大概需要9分钟。
内容图文
这篇文章主要介绍了关于PHP文件编程的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下1 获取文件信息
1.1 第一种方式(fopen、fstat、file_exists)
<?php$file_full_path = './test.txt';if(file_exists($file_full_path)){ // 检查文件或目录是否存在,存在则返回 TRUE,否则返回 FALSE $fp = fopen($file_full_path, 'r'); // 打开文件或url,成功时返回文件指针资源,如果打开失败,本函数返回 FALSE。 $fileinfo_arr = fstat($fp); // 通过已打开的文件指针取得文件信息,返回一个数组具有该文件的统计信息 echo '<pre>'; var_dump($fileinfo_arr); echo '文件的大小是:' . $fileinfo_arr['size'] . '个字节'; echo '文件的创建时间是:' . date('Y-m-d H:i:s', $fileinfo_arr['ctime']); echo '文件的访问时间是:' . date('Y-m-d H:i:s', $fileinfo_arr['atime']); echo '文件的修改时间是:' . date('Y-m-d H:i:s', $fileinfo_arr['mtime']);}else{ echo '文件不存在';}
1.2 第二种方式
<?php$file_full_path = './test.txt';if(file_exists($file_full_path)){ echo '文件的大小是:' . filesize($file_full_path); echo '文件的类型是:' . filetype($file_full_path); echo '文件的创建时间是:' . date('Y-m-d H:i:s', filectime($file_full_path)); echo '文件的访问时间是:' . date('Y-m-d H:i:s', fileatime($file_full_path)); echo '文件的修改时间是:' . date('Y-m-d H:i:s', filemtime($file_full_path));}else{ echo '文件不存在';}
2 读取文件内容
2.1 第一种方式,fread
<?php$file_full_path = './test.txt';if(file_exists($file_full_path)){ // 1、打开文件 $fp = fopen($file_full_path, 'r'); // 2、获取文件的大小 $file_size = filesize($file_full_path); // 3、读取内容 $con_str = fread($fp, $file_size); // 返回所读取的字符串, 或者在失败时返回 FALSE。 fclose($fp); // 替换换行符 $con_str = str_replace("rn", '<br>', $con_str); $con_str = str_replace("n", '<br>', $con_str); // 替换 tab $con_str = str_replace(" ", " ", $con_str); echo $con_str;}else{ echo '文件不存在';}
2.2 第二种方式,feof
<?php$file_full_path = './test.txt';if(file_exists($file_full_path)){ $fp = fopen($file_full_path, 'r'); // 设置缓冲 $buffer = ''; $buffer_size = 1024; $con_str = ''; while(!feof($fp)){ // 测试文件指针是否到了文件结束的位置,到达返回true,否则返回false $buffer = fread($fp, $buffer_size); $con_str .= $buffer; } // 关闭文件 fclose($fp); $con_str = str_replace("rn", '<br>', $con_str); $con_str = str_replace("n", '<br>', $con_str); $con_str = str_replace(" ", ' ', $con_str); echo $con_str;}else{ echo '文件不存在';}
2.3 第三种方式,file_get_contents
<?php$file_full_path = './test.txt';if(file_exists($file_full_path)){ $con_str = file_get_contents($file_full_path); // 将整个文件读入一个字符串 $con_str = str_replace("rn", '<br>', $con_str); $con_str = str_replace("n", '<br>', $con_str); $con_str = str_replace(" ", ' ', $con_str); echo $con_str;}else{ echo '文件不存在';}
3 创建文件,并写入内容
3.1 案例1
<?php$file_full_path = './test.txt';if(!file_exists($file_full_path)){ if($fp = fopen($file_full_path, 'w')){ // 覆盖写入10句helloworld $con = ''; for($i=0; $i<10; $i++){ $con .= "HelloWorldrn"; } // 写入文件 fwrite($fp, $con); // fwrite() 返回写入的字符数,出现错误时则返回 FALSE 。 fclose($fp); }else{ echo '创建文件失败'; }}else{ echo '文件已经存在';}
3.2 案例2,file_put_contents
<?php$file_full_path = './test.txt';if(!file_exists($file_full_path)){ $con = ''; for($i=0; $i<10; $i++){ $con .= "helloworldrn"; } // 默认是覆盖写,可以追加FILE_APPEND参数,改为追加写。 file_put_contents($file_full_path, $con); // 和依次调用 fopen(),fwrite() 以及 fclose() 功能一样。 }else{ echo '已经存在该文件';}
4 删除文件
<?php$file_full_path = './test.txt';if(file_exists($file_full_path)){ if(unlink($file_full_path)){ echo '<br>删除成功'; }else{ echo '<br>删除失败'; }}else{ echo '文件不存在,无法删除';}
5 修改文件名
<?php$file_full_path = './test.txt';$file_new_full_path = './王八.txt';$file_new_full_path = iconv('utf-8', 'gbk', $file_new_full_path);if(file_exists($file_full_path)){ if(rename($file_full_path, $file_new_full_path)){ // 重命名一个文件或目录 echo '改名成功!'; }else{ echo '改名失败!'; }}else{ echo '文件不存在';}
6 操作文件目录
6.1 创建一级目录
<?php$dir_full_path = './abc';// 判断有没有该目录if(!is_dir($dir_full_path)){ if(mkdir($dir_full_path)){ echo '创建目录成功!'; }else{ echo '创建目录失败!'; }}else{ echo '已经存在该目录,无法再次创建';}
6.2 创建多级目录
<?php$dir_full_path = './abc/edf/xyz';if(!is_dir($dir_full_path)){ if(mkdir($dir_full_path, 0777, true)){ // true 表示递归创建 echo '创建目录成功'; }else{ echo '创建目录失败'; }}else{ echo '已经存在该目录,无法再次创建!';}
6.3 删除目录(一级)
<?php$dir_full_path = './abc';if(is_dir($dir_full_path)){ if(rmdir($dir_full_path)){ echo '删除目录成功'; }else{ echo '删除目录失败'; }}else{ echo '不存在该文件夹';}
7 文件编程的应用案例
7.1 如何拷贝一张图片
<?php$file_src_full_path = 'F:/壁纸.jpg';$file_src_full_path = iconv('utf-8', 'gbk', $file_src_full_path);$file_des_full_path = 'D:/amp/WWW/萧山.jpg';$file_des_full_path = iconv('utf-8', 'gbk', $file_des_full_path);if(file_exists($file_src_full_path)){ if(copy($file_src_full_path, $file_des_full_path)){ echo '拷贝成功'; }else{ echo '拷贝失败'; }}else{ echo '没有这个文件';}
7.2 遍历某个文件夹,判断文件夹下面内容分别是目录和文件
<?php$dir_full_path = 'D:/amp/WWW/';if(is_dir($dir_full_path)){ $dir_handle = opendir($dir_full_path); // 如果成功则返回目录句柄的 resource,失败则返回 FALSE while(($file_name = readdir($dir_handle)) !== false){ // 成功则返回文件名 或者在失败时返回 FALSE if(is_dir($dir_full_path . $file_name)){ echo $file_name . '是目录<br>'; }else{ echo $file_name . '是文件<br>'; } } closedir($dir_handle);}else{ echo '不是目录,无法打开';}
7.3 写一个函数统计某个目录所有文件的大小
<?php$dir_name = 'D:/amp/WWW';function getDirSize($dir_name){ $dir_size = 0; $dir_handle = opendir($dir_name); while(($file_name = readdir($dir_handle)) !== false){ $file = $dir_name . '/' . $file_name; // 文件全名 if($file_name!=='.' && $file_name!=='..'){ if(is_dir($file)){ $dir_size += getDirSize($file); }else{ $dir_size += filesize($file); } } } closedir($dir_handle); return $dir_size;}echo getDirSize($dir_name);
7.4 删除某个目录
<?php$dir_name = 'D:/amp/WWW/.idea';function rrmdir($src){ $dir_handle = opendir($src); while(false !== ($file = readdir($dir_handle))){ if(($file != '.') && ($file != '..')){ $full = $src . '/' . $file; if(is_dir($full)){ rrmdir($full); }else{ unlink($full); } } } closedir($dir_handle); rmdir($src);}rrmdir($dir_name);
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
php 遍历一个文件夹下的所有文件和子文件的代码
PHP的文件和目录操作
以上就是PHP文件编程的介绍的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的PHP文件编程的介绍全部内容,希望文章能够帮你解决PHP文件编程的介绍所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。