php的多功能文件操作类
本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录,列出目录里的文件等功能,路径后面别忘了加"/"
创建指定路径下的指定文件
* @param string $path(需要包含文件名和后缀)
* @param boolean $over_write 是否覆盖文件
* @param int $time 设置时间。默认是当前系统时间
* @param int $atime 设置访问时间。默认是当前系统时间
<?php
/**
*本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录
* 列出目录里的文件等功能,路径后面别忘了加"/"
*/
class fileoperate
{
var $path;// 文件路径
var $name;//文件名
var $result;//对文件操作后的结果 /**
* 本方法用来在path目录下创建name文件
*
* @param string path
* @param string name
*/
function creat_file($path,$name)//建立文件
{
$filename=$path.$name;
if (file_exists($filename))
{
echo "文件已经存在,请换个文件名";
}
else
{
if (file_exists($path))
{
touch($name);
rename($name,$filename);
echo "文件建立成功 </br>";
}
else{
echo "目录不存在,请检查";
}
}
} /**
* 本方法用来写文件,向path路径下name文件写入content内容,bool为写入选项,值为1时
* 接着文件原内容下继续写入,值为2时写入后的文件只有本次content内容
*
* @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 "文件不存在,请确认路径是否正确";
}
else {
if (unlink($filename)){
echo "文件删除成功";
}
else echo "文件删除失败";
} } /**
* 本方法用来修改path目录里name文件中的内容(可视)
*
* @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>文件内容";
echo "<p>";
echo "<input type='text' name='$filename' value=$filename />文件路径<p>";
echo "<input name=ss type=submit value=修改文件内容 />";
echo "</form>";
} /**
* 本方法用来复制name文件从spath到dpath
*
* @param string name
* @param string spath
* @param string dpath
*/
function copy_file($name,$spath,$dpath) //文件复制
{
$filename=$spath.$name;
if (file_exists($filename)) {
$handle=fopen($filename,'a');
copy($filename,$dpath.$name);
if (file_exists($dpath.$name))
echo "文件复制成功";
else echo "文件复制失败";
}
else echo "文件不存在";
} /**
* 本方法把name文件从spath移动到path路径
*
* @param string_type path
* @param string_type dirname
* @param string_type dpath
*/
function move_file($name,$spath,$dpath) //移动文件
{
$filename=$spath.$name;
if (file_exists($filename)) {
$result=rename($filename,$dpath.$name);
if ($result==false or !file_exists($dpath))
echo "文件移动失败或目的目录不存在";
else
echo "文件移动成功";
}
else {
echo "文件不存在,无法移动";
}
}
}
?>
php的多功能文件操作类的更多相关文章
- java csv 文件 操作类
一个CSV文件操作类,功能比较齐全: package tool; import java.io.BufferedReader; import java.io.BufferedWriter; impor ...
- Qt5:Qt文件操作类 QFile
在QT中,操作文件一般不使用C++提供的文件操作类 , 因为操作文件的时候,要用到C++提供的 string 类,而在QT中使用的是Qt自己实现的一个string类 QString .在Qt中使用C+ ...
- C# 文件操作类大全
C# 文件操作类大全 时间:2015-01-31 16:04:20 阅读:1724 评论:0 收藏:0 [点我收藏+] 标签: 1.创建文件夹 //usin ...
- File 文件操作类 大全
File 文件操作类 大全 许多人都会对文件操作感到很难 我也是 但是一个好的项目中必定会涉及到文件操作的 文件的复制 粘贴 等等等 公司大佬写了 一个文件操作的工具类 感觉还是棒棒的啦 ...
- php文件操作类
<?php /** *本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录 * 列出目录里的文件等功能,路径后面别忘了加"/" */ clas ...
- [C#] 常用工具类——文件操作类
/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...
- 文件操作类CFile
CFile file; CString str1= L"写入文件成功!"; wchar_t *str2; if (!file.Open(L"Hello.txt" ...
- asp.net文件操作类
/** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ...
- android 文件操作类简易总结
android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ...
随机推荐
- C# Selenium操作指南,关闭黑色CMD窗口/禁用图片/隐藏浏览器等
引用部分:1. 2. 配置部分: ChromeDriverService driverService = ChromeDriverService.CreateDefaultService(); dri ...
- Android NDK编译选项设置
Android NDK编译选项设置 网易加固关注 0.5472016.08.22 14:07:00字数 3,034阅读 6,805 在Android NDK开发中,有两个重要的文件:Android.m ...
- [转]TrueType(TTF)字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪)
原文入口: TTF字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪) 对于TrueType(TTF)字体格式的介绍可以看: https://www.cnblogs.com/slysky/p/1131 ...
- 关于OpenGPU.org
今天是心情沉重的一天. OpenGPU.org,作为当年中国图形学界首屈一指的论坛,曾经创造过日访问破万的记录,而且汇聚了中国所有的图形行业的精英,大家畅所欲言,为整个中国图形学业界分享了无数宝贵的资 ...
- Python中,我该如何切分字符串后保留分割符?
原文来源:https://stackoverflow.com/questions/2136556/in-python-how-do-i-split-a-string-and-keep-the-sepa ...
- conda进行python环境隔离
1.环境隔离的问题 在使用python时,常常遇到的问题: pip安装库A,依赖库B-2.1版本 pip安装库C,以来库B-3.1版本,安装会提示库B的版本冲突错误. 这种情况下就需要做环境隔离 co ...
- 对step文件进行信息抽取算法
任务描述:给定一个step文件,对该文件的字符串进行信息抽取,结构化的组织文件描述模型的数据.形成抽象化数据结构,存入计算机数据库.并能按照有条理结构把这些数据展示出来. 信息抽取的结果描述: 1 数 ...
- django web问题
django生命周期 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中. ...
- [pymongo] pymongo.errors.CursorNotFound Exception
由於find之後,loop執行時間過長導致timeout, cusor失效 解決方式有以下幾種: 1. 使用batch_size() cursor = collection.find({}).batc ...
- 打包工具Gradle
Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML.当前其支持的语言 ...