學習了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.png")) { 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程序設計有所幫助。