Home > Article > Backend Development > PHP file operations, _PHP tutorial
一、fstat函数:显示文件的所有信息
<span>$file_path</span> = "test.php"<span>; </span><span>if</span>(<span>$fp</span>=<span>fopen</span>(<span>$file_path</span>,"a+"<span>)){ </span><span>$file_info</span>=<span>fstat</span>(<span>$fp</span><span>); </span><span>echo</span> "<pre class="brush:php;toolbar:false">"<span>; </span><span>print_r</span>(<span>$file_info</span><span>); </span><span>echo</span> ""; echo "文件大小为".$file_info['size']; echo "文件上次访问时间".date("Y-m-d H:i:s",$file_info['mtime']); } fclose($fp); //一定要关闭
二、文件读取:
<span>//</span><span>第一种:</span> <span>$con</span> = <span>fread</span>(<span>$fp</span>,<span>filesize</span>(<span>$file_path</span><span>)); </span><span>$con</span> = <span>str_replace</span>("\r\n","<br>",<span>$con</span><span>); </span><span>echo</span> "文件内容是".<span>$con</span><span>; </span><span>//</span><span>第二种:将文件一下全部读取</span> <span>$con</span> = <span>file_get_contents</span>(<span>$file_path</span><span>); </span><span>$con</span> = <span>str_replace</span>("\r\n","<br>",<span>$con</span><span>); </span><span>echo</span> "文件内容是".<span>$con</span><span>; </span><span>//</span><span>第三种:一段一段读取</span> <span>$buffer</span> = 1024<span>; </span><span>//</span><span>为了下载的安全,最好使用文件字节读取计数器</span> <span>$file_count</span> = 0<span>; </span><span>//</span><span>feof用于判断文件是否读取到文档尾</span> <span>while</span>(!<span>feof</span>(<span>$fp</span>) && (<span>$file_size</span>-<span>$file_count</span>>0<span>)){ </span><span>$file_data</span> = <span>fread</span>(<span>$fp</span>,<span>$buffer</span><span>); </span><span>//</span><span>统计读了多少个字节</span> <span>$file_count</span>+<span>$buffer</span><span>; </span><span>echo</span> <span>$file_data</span><span>; }</span>
三、写入文件:
<span>//</span><span>1、传统方法写入文件</span> <span>$file_path</span> = "test.txt"<span>; </span><span>if</span>(<span>file_exists</span>(<span>$file_path</span><span>)){ </span><span>$fp</span> = <span>fopen</span>(<span>$file_path</span>,"a+"<span>); </span><span>//</span><span>打开方式:a+是追加内容。w+是覆盖原来的。</span> <span>$con</span> = "Hello!\r\n"<span>; </span><span>fwrite</span>(<span>$fp</span>,<span>$con</span><span>); </span><span>echo</span> "添加成功!"<span>; }</span><span>else</span><span>{ </span><span>echo</span> "文件不存在"<span>; } </span><span>fclose</span>(<span>$fp</span><span>); </span><span>//</span><span>2、第二种方法写入文件</span> <span>$file_path</span>= "test.txt"<span>; </span><span>$con</span> = "北京你好!\r\n"<span>; </span><span>file_put_contents</span>(<span>$file_path</span>,<span>$con</span>,<span>FILE_APPEND); </span><span>echo</span> "成功";
四、文件操作的应用:
<span>//</span><span>可以操作ini文件。将服务器的配置写在ini文件中,再对其进行操作。</span> dbc.<span>ini host</span>=192.168.0.1<span> admin</span>=<span>admin password</span>=123456<span> demo</span>.<span>php </span><?<span>php </span><span>$con</span> = <span>parse_ini_file</span>("dbc.ini"<span>); </span><span>print_r</span>(<span>$con</span><span>); </span>?> <span>//</span><span>将ini文件中的数据以数组形式读出,可以对其进行操作。</span>
五、拷贝文件:
<span>if</span>(!<span>copy</span>("E:\\test.txt","D:\\1.txt"<span>)){ </span><span>echo</span> "fail"<span>; }</span><span>else</span><span>{ </span><span>echo</span> "success"<span>; }</span>
六、创建文件
创建文件夹:
<span>//</span><span>$path = "E:\\happy"; //文件夹路径</span> <span>$path</span> = "E:\\happy\aaa\bbb"; <span>//</span><span>多级文件夹</span> <span>if</span>(!<span>is_dir</span>(<span>$path</span><span>)){ </span><span>if</span>(<span>mkdir</span>(<span>$path</span>,0777,<span>true</span><span>)){ </span><span>echo</span> "success"<span>; }</span><span>else</span><span>{ </span><span>echo</span> "fail"<span>; } }</span><span>else</span><span>{ </span><span>echo</span> "文件夹已存在"<span>; }</span>
创建文件:
<span>$file_path</span> = "E:\\happy.txt"<span>; </span><span>$fp</span> = <span>fopen</span>(<span>$file_path</span>,"w+"<span>); </span><span>fwrite</span>(<span>$fp</span>,"hello"<span>); </span><span>fclose</span>(<span>$fp</span>);
七、删除文件:
删除文件夹:
<span>$path</span> = "E:\\happy\aaa\bbb"; <span>//</span><span>多级文件夹</span> <span>if</span>(<span>rmdir</span>(<span>$path</span><span>)){ </span><span>echo</span> "success"<span>; } </span><span>//</span><span>rmdir只能删除空文件夹,文件夹下有文件或目录均不能删除。</span>
删除文件:
<span>$file_path</span> = "E:\\happy.txt"<span>; </span><span>if</span>(<span>is_file</span>(<span>$file_path</span><span>)){ </span><span>if</span>(<span>unlink</span>(<span>$file_path</span><span>)){ </span><span>echo</span> "success"<span>; }</span><span>else</span><span>{ </span><span>echo</span> "fail"<span>; } }</span><span>else</span><span>{ </span><span>echo</span> "文件不存在"<span>; }</span>