PHP操作文件類實(shí)例代碼_PHP教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:PHP上傳自動(dòng)生成縮略圖及水印類(含代碼)思路很大一部分是原創(chuàng)的,但也有一些是COPY網(wǎng)絡(luò)的,寫得不夠規(guī)范,還請(qǐng)各位大大不要見笑,同時(shí)給小弟些意見。 開始第一步: 創(chuàng)建文件夾,布局: annex:附件(該目錄下存放上傳的原圖片) |— smallimg:存放縮略圖片 |— mark:存放水印圖片 include:存放
發(fā)一個(gè)剛寫完的文件操作類第一次寫類,寫的不好,大家多提意見,不過(guò)不要罵我
剛才又加了兩個(gè)功能,又加了注釋,高手一定幫我看看哪有問(wèn)題啊,謝謝
file.class.php
剛才又加了兩個(gè)功能,又加了注釋,高手一定幫我看看哪有問(wèn)題啊,謝謝
file.class.php
- <?php
- /**
- *本類為文件操作類,實(shí)現(xiàn)了文件的建立,寫入,刪除,修改,復(fù)制,移動(dòng),創(chuàng)建目錄,刪除目錄
- * 列出目錄里的文件等功能,路徑后面別忘了加"/"
- *
- * @author 路人郝
- * @copyright myself
- * @link [url=http://www.phpr.cn]www.phpr.cn[/url]
- *
- */
- class fileoperate
- {
- var path;// 文件路徑
- var name;//文件名
- var result;//對(duì)文件操作后的結(jié)果
- /**
- * 本方法用來(lái)在path目錄下創(chuàng)建name文件
- *
- * @param string path
- * @param string name
- */
- function creat_file(path,name)//建立文件
- {
- filename=path.name;
- if (file_exists(filename))
- {
- echo "文件已經(jīng)存在,請(qǐng)換個(gè)文件名";
- }
- else
- {
- if (file_exists(path))
- {
- touch(name);
- rename(name,filename);
- echo "文件建立成功 </br>";
- }
- else{
- echo "目錄不存在,請(qǐng)檢查";
- }
- }
- }
- /**
- * 本方法用來(lái)寫文件,向path路徑下name文件寫入content內(nèi)容,bool為寫入選項(xiàng),值為1時(shí)
- * 接著文件原內(nèi)容下繼續(xù)寫入,值為2時(shí)寫入后的文件只有本次content內(nèi)容
- *
- * @param string_type path
- * @param string_type name
- * @param string_type content
- * @param bool_type bool
- */
- function write_file(path,name,content,bool) //寫文件
- {
- filename=path.name;
- if (bool==1) {
- if (is_writable(filename)) {
- handle=fopen(filename,'a');
- if (!handle) {
- echo "文件不能打開或文件不存在";
- exit;
- }
- result=fwrite(handle,content);
- if (!result) {
- echo "文件寫入失敗";
- }
- echo "文件寫入成功";
- fclose(handle);
- }
- else echo "文件不存在";
- }
- if (bool==2) {
- if (!file_exists(filename)) {
- this->creat_file(path,name);
- handle=fopen(filename,'a');
- if (fwrite(handle,content));
- echo "文件寫入成功";
- }
- else {
- unlink(filename);
- this->creat_file(path,name);
- this->write_file(path,name,content,1);
- echo "文件修改成功";
- }
- }
- }
- /**
- * 本方法刪除path路徑下name文件
- *
- * @param string_type path
- * @param string_type name
- */
- function del_file(path,name){ //刪除文件
- filename=path.name;
- if (!file_exists(filename)) {
- echo "文件不存在,請(qǐng)確認(rèn)路徑是否正確";
- }
- else {
- if (unlink(filename)){
- echo "文件刪除成功";
- }
- else echo "文件刪除失敗";
- }
- }
- /**
- * 本方法用來(lái)修改path目錄里name文件中的內(nèi)容(可視)
- *
- * @param string_type path
- * @param string_type name
- */
- function modi_file(path,name){ //文件修改
- filename=path.name;
- handle=fopen(filename,'r+');
- content=file_get_contents(filename);
- echo "<form id='form1' name='form1' action='modi_file.php' method='post'>";
- echo "<textarea name=content rows='10'>content</textarea>文件內(nèi)容";
- echo "<p>";
- echo "<input type='text' name='filename' value=filename />文件路徑<p>";
- echo "<input name=ss type=submit value=修改文件內(nèi)容 />";
- echo "</form>";
- }
- /**
- * 本方法用來(lái)復(fù)制name文件從spath到dpath
- *
- * @param string name
- * @param string spath
- * @param string dpath
- */
- function copy_file(name,spath,dpath) //文件復(fù)制
- {
- filename=spath.name;
- if (file_exists(filename)) {
- handle=fopen(filename,'a');
- copy(filename,dpath.name);
- if (file_exists(dpath.name))
- echo "文件復(fù)制成功";
- else echo "文件復(fù)制失敗";
- }
- else echo "文件不存在";
- }
- /**
- * 本方法把name文件從spath移動(dòng)到path路徑
- *
- * @param string_type path
- * @param string_type dirname
- * @param string_type dpath
- */
- function move_file(name,spath,dpath) //移動(dòng)文件
- {
- filename=spath.name;
- if (file_exists(filename)) {
- result=rename(filename,dpath.name);
- if (result==false or !file_exists(dpath))
- echo "文件移動(dòng)失敗或目的目錄不存在";
- else
- echo "文件移動(dòng)成功";
- }
- else {
- echo "文件不存在,無(wú)法移動(dòng)";
- }
- }
- /**
- * 本方法把filename文件重命名為newname文件
- *
- * @param string_type filename
- * @param string_type newname
- */
- function rename_file(filename,newname) { //文件或目錄更名
- path=pathinfo(filename);
- dir=path['dirname']; //得到文件路徑
- newfilename=dir.newname;
- if (file_exists(filename)) { //判斷文件是否存在
- result=rename(filename,newfilename);
- if (result==true)
- echo "文件更名成功";
- else
- echo "文件更名失敗";
- }
- else
- echo "文件不存在";
- }
- /**
- * 本方法用來(lái)列出目錄里的文件或目錄switch為1時(shí)按字母順序列出所有目錄和文件
- * switch為2則只列出目錄,switch為3時(shí),只列出文件名
- *
- * @param string_type path
- * @param int_type switch
- */
- function list_filename(path,switch) //列出文件和目錄名
- {
- if (file_exists(path)) {
- dir=scandir(path);
- if (switch==1){ //如果switch為1則按字母順序列出所有目錄和文件
- for (i=0;i<=count(dir);i++)
- {
- if (dir[i]!="." and dir[i]!="..")
- {
- echo "dir[i]<br>";
- }
- }
- }
- if (switch==2) //switch為2則只列出目錄
- {
- for (i=0;i<=count(dir);i++)
- {
- x=is_dir(path.dir[i]);
- if (dir[i]!="." and dir[i]!=".." and x==true)
- {
- echo "dir[i]<br>";
- }
- }
- }
- if (switch==3) //switch為3時(shí),只列出文件名
- {
- for (i=0;i<=count(dir);i++)
- {
- x=is_dir(path.dir[i]);
- if (dir[i]!="." and dir[i]!=".." and x==false)
- {
- echo "dir[i]<br>";
- }
- }
- }
- }
- }
- /**
- * 本方法在path目錄下創(chuàng)建名為dirname的目錄
- *
- * @param string_type path
- * @param string_type dirname
- */
- function creat_dir(path,dirname){ //創(chuàng)建目錄
- if (file_exists(path)) {
- result=mkdir(path.dirname);
- if (result)
- echo "目錄建立成功";
- else
- echo "目錄建立失敗";
- }
- else
- echo "路徑不存在,請(qǐng)重新輸入";
- }
- /**
- * 本方法刪除pathname目錄,包括該目錄下所有的文件及子目錄
- *
- * @param string_type pathname
- */
- function del_dir(pathname){ //刪除目錄及目錄里所有的文件夾和文件
- if (!is_dir(pathname))
- {exit("你輸入的不是一個(gè)目錄,請(qǐng)檢查") ;}
- handle=opendir(pathname);
- while ((fileordir=readdir(handle)) !== false) {
- if (fileordir!="." && fileordir!="..") {
- is_dir("pathname/fileordir")?
- this->del_dir("pathname/fileordir"):
- unlink("pathname/fileordir");
- }
- }
- if (readdir(handle) == false)
- {
- closedir(handle);
- rmdir(pathname);
- }
- }
- }
- ?>
modi_file.php
- <?php
- include('file.class.php');
- content=_POST['content'];//得到文件內(nèi)容
- //echo content;//
- filename=_POST['filename'];
- path=pathinfo(filename); //得到文件路徑
- dir=path['dirname']."/"; //目錄名
- name=path['basename']; //文件名
- op=new fileoperate();
- op->write_file("dir","name",content,2);
- ?>
test.php
- <?php
- include('file.class.php');
- op=new fileoperate();
- //op->creat_file("./","aa3.txt");
- //op->del_file("./","aa3.txt");
- //b="fdfdsfdsfdsfdfdfdfdfdsfdsf1233456";
- //op->write_file("./","aa3.txt",b,1);
- //op->modi_file("./","aa3.txt");
- //op->copy_file("aa3.txt","./","../a/");
- //op->move_file("aa3.txt","../","./");
- //op->rename_file("aa3.txt","aa2.txt");
- //op->list_filename("../",3);
- //op->creat_dir("/wwwroot","wesley");
- //op->del_dir("/aaa/test");?>
分享:PHP技術(shù):txtSQL安裝手冊(cè)中文版txtsql的最大優(yōu)點(diǎn)之一是文檔很詳細(xì),可惜,我在網(wǎng)上找了半天也找不到中文版的文檔,所以只好自己動(dòng)手,利人利已吧,不過(guò)自己的E文水平自己是很清楚的,希望大家看了不會(huì)笑掉大牙才好,還希望大家多多指教。 歡迎使用txtSQL 2.2快速安裝手冊(cè)。這頁(yè)將指引你如何
相關(guān)PHP教程:
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- 利用PHP和CSS改變網(wǎng)頁(yè)文字大小
- 揭秘從IIS的ASP遷移到APACHE的PHP
- PHP面向?qū)ο缶幊炭焖偃腴T
- php class中self,parent,this的區(qū)別以及實(shí)例介紹
- 解析php二分法查找數(shù)組是否包含某一元素
- PHP技巧:通過(guò)實(shí)例深入剖析require和include的用法
- PHP中基于ts與nts版本- vc6和vc9編譯版本的區(qū)別詳解
- 基于php設(shè)計(jì)模式中工廠模式詳細(xì)介紹
- PHP實(shí)現(xiàn)首頁(yè)自動(dòng)選擇語(yǔ)言轉(zhuǎn)跳
- PHP編程中分頁(yè)顯示實(shí)例代碼
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-PHP操作文件類實(shí)例代碼。