|
本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录,列出目录里的文件等功能,路径后面别忘了加"/"
创建指定路径下的指定文件
* @param string $path(需要包含文件名和后缀)
* @param boolean $over_write 是否覆盖文件
* @param int $time 设置时间。默认是当前系统时间
* @param int $atime 设置访问时间。默认是当前系统时间
<?php
/**
*本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录
* 列出目录里的文件等功能,路径后面别忘了加&#34;/&#34;
*/
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 &#34;文件已经存在,请换个文件名&#34;;
}
else
{
if (file_exists($path))
{
touch($name);
rename($name,$filename);
echo &#34;文件建立成功 </br>&#34;;
}
else{
echo &#34;目录不存在,请检查&#34;;
}
}
}
/**
* 本方法用来写文件,向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,&#39;a&#39;);
if (!$handle) {
echo &#34;文件不能打开或文件不存在&#34;;
exit;
}
$result=fwrite($handle,$content);
if (!$result) {
echo &#34;文件写入失败&#34;;
}
echo &#34;文件写入成功&#34;;
fclose($handle);
}
else echo &#34;文件不存在&#34;;
}
if ($bool==2) {
if (!file_exists($filename)) {
$this->creat_file($path,$name);
$handle=fopen($filename,&#39;a&#39;);
if (fwrite($handle,$content));
echo &#34;文件写入成功&#34;;
}
else {
unlink($filename);
$this->creat_file($path,$name);
$this->write_file($path,$name,$content,1);
echo &#34;文件修改成功&#34;;
}
}
}
/**
* 本方法删除path路径下name文件
*
* @param string_type path
* @param string_type name
*/
function del_file($path,$name){ //删除文件
$filename=$path.$name;
if (!file_exists($filename)) {
echo &#34;文件不存在,请确认路径是否正确&#34;;
}
else {
if (unlink($filename)){
echo &#34;文件删除成功&#34;;
}
else echo &#34;文件删除失败&#34;;
}
}
/**
* 本方法用来修改path目录里name文件中的内容(可视)
*
* @param string_type path
* @param string_type name
*/
function modi_file($path,$name){ //文件修改
$filename=$path.$name;
$handle=fopen($filename,&#39;r+&#39;);
$content=file_get_contents($filename);
echo &#34;<form id=&#39;form1&#39; name=&#39;form1&#39; action=&#39;modi_file.php&#39; method=&#39;post&#39;>&#34;;
echo &#34;<textarea name=content rows=&#39;10&#39;>content</textarea>文件内容&#34;;
echo &#34;<p>&#34;;
echo &#34;<input type=&#39;text&#39; name=&#39;$filename&#39; value=$filename />文件路径<p>&#34;;
echo &#34;<input name=ss type=submit value=修改文件内容 />&#34;;
echo &#34;</form>&#34;;
}
/**
* 本方法用来复制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,&#39;a&#39;);
copy($filename,$dpath.$name);
if (file_exists($dpath.$name))
echo &#34;文件复制成功&#34;;
else echo &#34;文件复制失败&#34;;
}
else echo &#34;文件不存在&#34;;
}
/**
* 本方法把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 &#34;文件移动失败或目的目录不存在&#34;;
else
echo &#34;文件移动成功&#34;;
}
else {
echo &#34;文件不存在,无法移动&#34;;
}
}
}
?>
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要
或 者关注咱们下面的知乎专栏 |
|