学习了PHP的文件编程,其中PHP自身提供了复制文件的函数(copy)。自己也写了一个功能差不多的复制图片的函数,以此在这里记录一下。
在说该函数之前,先介绍一下使用PHP创建/删除文件夹、文件等知识。
1.创建文件夹
<?php //使用 file_exists("d:/mydir") 或 is_dir("d:/mydir")判断该文件夹是否存在 if(!file_exists("d:/mydir")) { if(mkdir("d:/mydir")) { echo "创建文件夹成功"; }else{ echo "创建文件夹失败"; } } else { echo "该文件夹已存在"; } ?>
2.创建多级目录(上面所说的,只能创建一级目录)
<?php //使用 file_exists("d:/mydir") 或 is_dir("d:/mydir")判断该文件夹是否存在 $path="d:/mydir/p/h/p/test"; if(!file_exists($path)) { if(mkdir($path,0777,true)) { echo "创建文件夹成功"; }else{ echo "创建文件夹失败"; } } else { echo "该文件夹已存在"; } ?>
3.删除文件夹
<?php //如果文件夹下有文件,或者目录,均不能删除成功 if(rmdir("d:/mydir/p/h/p/test")) { echo "删除文件夹成功"; } else { echo "删除文件夹成功"; } ?>
4.文件的创建
<?php //在d:/mydir目录下,创建一个文件并写入hello $file_path="d:/mydir2/test.txt"; $fp=fopen($file_path,"w+"); fwrite($fp,"hello,world"); fclose($fp); echo "文件写入成功"; ?>
5.删除文件
<?php $file_path="d:/mydir2/test.txt"; if(is_file($file_path)) { if(unlink($file_path)) { echo "删除成功"; } else { echo "删除失败"; } } else { echo "文件不存在"; } ?>
复制文件的函数:
<?php //PHP自身提供的copy文件函数:应用拷贝图片 //copy("来源","地点") //$file_path=iconv("utf-8","gb2312","含中文路径"); //将utf-8编码转为gb2312码 /*if(!copy("C:\\bh.PNG","D:\\bh2.webp")) { echo 'error'; } else { echo 'ok'; }*/ //自制拷贝文件的函数 function myCopyFunc($res, $des) { if(file_exists($res)) { $r_fp=fopen($res,"r"); //定位 $pos=strripos($des,"\\"); $dir=substr($des,0,$pos); if(!file_exists($dir)) { //可创建多级目录 mkdir($dir,0777,true); echo "创建目录成功<br/>"; } $d_fp=fopen($des,"w+"); //$fres=fread($r_fp,filesize($res)); //边读边写 $buffer=1024; $fres=""; while(!feof($r_fp)) { $fres=fread($r_fp,$buffer); fwrite($d_fp,$fres); } fclose($r_fp); fclose($d_fp); echo "复制成功"; } else { echo "源文件不存在"; } } myCopyFunc("C:\\bh.PNG","D:\\PHPTest\\test\bh2.PNG"); //myCopyFunc("C:\\bh.PNG","D:\\bh.PNG"); ?>
以上代码包含PHP文件编程中的文件读取与写入功能,希望对大家学习php程序设计有所帮助。