header('Content-type:text/html;charset=utf-8');

/**

* [checkFilename 检验文件名的合法性]

* @param  [string] $filename [文件名]

* @return [bool]           [合法返回真]

*/

function checkFilename($filename){

$pattern='/[\/,\*,<>,\?\|]/';

if(preg_match($pattern, $filename)){

return false;

}else{

return true;

}

}

#文件夹操作

/**

*遍历目录函数,只读取目录中最外层的内容

* @param string $path

* @return array

*/

function readDirectory($path){

echo $path;

$arr=array();

$handle=opendir($path);

while (($item=readdir($handle))!==false) {//运用不全等于,防止文件名为0

if($item!='.'&&$item!='..'){

$p=$path.'/'.$item;

if(is_file($p)){

$arr['file'][]=$item;

}elseif(is_dir($p)){

$arr['dir'][]=$item;

}

}

}

closedir($handle);

return $arr;

}

/**

* 得到文件夹的大小

* @param  [string] $path文件夹的路径

* @return [int] 返回文件夹的大小

*/

function getDirSize($path){

$sum=0;

$handle=opendir($path);

while (($item=readdir($handle))!==false) {

$p=$path.'/'.$item;

if($item!='.'&&$item!='..'){

if(is_file($p)){

global $sum;

$sum+=filesize($p);

}elseif(is_dir($p)){

$func=__FUNCTION__;

$func($p);

}

}

}

closedir($handle);

return $sum;

}

/**

* 创建一个文件夹

* @param  [string] 文件夹名

* @return [string]          [创建成功返回对应的提示]

*/

function createFolder($dirname){

//检测文件夹名称的合法性

if(checkFilename(basename($dirname))){

//当前目录下是否存在同名文件夹名称

if(!file_exists($dirname)){

if(mkdir($dirname,0777,true)){//0777最大文件权限,true表示可以创建子目录

$mes='文件夹创建成功';

}else{

$mes='文件夹创建失败!';

}

}else{

$mes='存在同名文件夹';

}

}else{

$mes='非法文件夹名称';

}

return $mes;

}

/**

* 重命名文件夹

* @param  [string] $oldname [原文件夹名]

* @param  [string] $newname [新文件夹名]

* @return [string]          [返回对应的信息]

*/

function renameFolder($oldname,$newname){

if(checkFilename(basename($newname))){

//检测到当前目录下是否存在同名文件夹名称

if(!file_exists($newname)){

if(rename($oldname,$newname)){

$mes='重命名成功';

}else{

$mes='重命名失败';

}

}else{

$mes='存在同名文件夹';

}

}else{

$mes='非法文件夹名称';

}

return $mes;

}

/**

* 复制文件夹

* @param  [string] $srcdir [源文件夹名]

* @param  [string] $dstdir [目标文件夹名]

* @return [string]         [返回信息描述]

*/

function copyFolder($srcdir,$dstdir){

if(!file_exists($srcdir)){

return '原文件夹不存在';

}

if(!file_exists($dstdir)){

mkdir($dstdir,0777,true);

}

$handle=opendir($srcdir);

while(($item=readdir($handle))!=false){

if($item!='.'&&$item!='..'){

$sp=$srcdir.'/'.$item;

$dp=$dstdir.'/'.$item;

if(is_file($sp)){

copy($sp,$dp);

}elseif(is_dir($sp)){

$func=__FUNCTION__;

$func($sp,$dp);

}

}

}

closedir($handle);

return '复制成功';

}

/**

* 剪切文件夹

* @param  [string] $srcdir [源文件夹]

* @param  [string] $dstdir [目标文件夹]

* @return [string]         [返回剪切文件夹信息]

*/

function cutFolder($srcdir,$dstdir){

echo basename($srcdir);

echo $dstdir.'/'.basename($srcdir);

if(!file_exists($srcdir)){

$mes='源文件夹不存在';

}elseif(file_exists($dstdir)){

if(is_dir($dstdir)){

if(rename($srcdir,$dstdir.'/'.basename($srcdir))){

$mes='剪切成功';

}else{

$mes='剪切失败';

}

}else{

$mes='目标文件夹不是一个文件夹';

}

}else{

$mes='目标文件夹不存在';

}

return $mes;

}

/**

* 删除目录

* @param  [string] $path [要删除文件的路径]

* @return [string]       [返回错误信息]

*/

function delFolder($path){

if(!($handle=opendir($path))){

return '要删除的文件不存在';

}else{

while(($item=readdir($handle))!==false){

if($item!='.'&&$item!='..'){

$p=$path.'/'.$item;

if(is_file($p)){

unlink($p);

}elseif(is_dir($p)){

$func=__FUNCTION__;

$func($p);

}

}

}

closedir($handle);

rmdir($path);

return '删除文件成功';

}

}

#文件操作

/**

* 转换字节大小

* @param  [number] $filesize [问价大小]

* @return [string]           [返回带单位的文件大小]

*/

function transByte($filesize){

$arr=array('B','KB','MB','GB','TB','EB');

$i=0;

while ($filesize>=1024) {

$filesize/=1024;

$i++;

}

return round($filesize,2).$arr[$i];

}

/**

* 创建文件

* @param  [string] $filename [要创建的文件名]

* @return [string]           [返回创建文件的信息]

*/

function createFile($filename){

if(!checkFilename($filename)){

return '文件名非法';

}elseif(file_exists($filename)){

return '文件已存在';

}elseif(!touch($filename)){//创建文件的函数

return '文件创建失败';

}

return '文件创建成功';

}

/**

* [renameFile description]

* @param  [string] $oldname [description]

* @param  [string] $newname [description]

* @return [string]          [description]

*/

function renameFile($oldname,$newname){

if(!file_exists($oldname)){

return '源文件不存在';

}elseif(checkFilename($newname)){

if(rename($oldname,$newname)){

return '重命名成功';

}else{

return '重命名文件失败';

}

}else{

return '目标文件名非法';

}

}

/**

* 删除文件

* @param  [string] $filename [要删除的文件名]

* @return [type]           [返回文件删除信息]

*/

function delFile($filename){

if(unlink($filename)){

$mes='文件删除成功';

}else{

$mes='文件删除失败';

}

return $mes;

}

/**

* 下载文件

* @param  [string] $filename [要下载的文件名]

* @return [type]           [description]

*/

function downFile($filename){

//content-disposition:attachment:内容配置:附件

header('content-disposition:attachment;filename='.basename($filename));

header('content-length:'.filesize($filename));

readfile($filename);

}

/**

*复制文件

* @param  [string] $srcfile [复制的源文件]

* @param  [string] $dstfile [目标文件]

* @return [string]          [返回对应的信息]

*/

function copyFile($srcfile,$dstfile){

if(!file_exists($srcfile)){

return '源文件不存在';

}

if(file_exists($dstfile)){

if(copy($srcfile,$dstfile.'/'.basename($srcfile))){

return '文件复制成功';

}else{

return '文件复制失败';

}

}else{

return '目标文件已存在';

}

}

/**

* 剪切文件

* @param  [string] $srcfile [源文件]

* @param  [string] $dstfile [目标文件]

* @return [string]          [返回对应的信息]

*/

function cutFile($srcfile,$dstfile){

if(!file_exists($srcfile)){

return '源文件不存在';

}

if(file_exists($dstfile)){

if(rename($srcfile,$dstfile.'/'.basename($srcfile))){

return '文件剪切成功';

}else{

return '文件剪切失败';

}

}else{

return '目标目录不存在';

}

}

/**

* 表单文件上传

* @param  [string]  $fileInfo [$_FILE中前台上传按钮对应的的一部分]

* @param  [string]  $path     [文件要保存的目录]

* @param  array   $allwoExt [允许上传的文件的后缀]

* @param  integer $maxsize  [文件的大小的最大值]

* @return [string]            [返回对应的错误信息]

*/

function uploadFile($fileInfo,$path,$allwoExt=array('gif','jpeg','jpg','png','txt'),$maxsize=10485760){

//判断错误符号

if($fileInfo['error']==UPLOAD_ERR_OK){//或为0

if(is_uploaded_file($fileInfo['tmp_name'])){

$ext=strtolower(pathInfo($fileInfo['name'],PATHINFO_EXTENSION));//获取文件后缀

$uniqid=uniqid();

$destnation=$path.'/'.pathinfo($fileInfo['name'],PATHINFO_FILENAME).'_'.$uniqid.'.'.$ext;

if(in_array($ext,$allwoExt)){

if($fileInfo['size']<=$maxsize){

if(move_uploaded_file($fileInfo['tmp_name'], $destnation)){

$mes='文件上传成功';

}else{

$mes='文件移动失败';

}

}else{

$mes='文件过大';

}

}else{

$mes='非法文件类型';

}

}else{

$mes='文件不是通过HTTP POST方式上传过来的';

}

}else{

switch ($fileInfo['error']) {

case 1:

$mes='超过了配置文件的大小';

break;

case 2:

$mes='超过了表单允许接收数据的大小';

break;

case 3:

$mes='文件被部分上传';

break;

case 4:

$mes='没有文件被上传';

break;

default:

$mes='出现未知错误';

break;

}

}

return $mes;

}

?>

漠岚php文件操作类,php文件操作相关推荐

  1. php文件写入生成文件,PHP 文件操作类(创建文件并写入) 生成日志

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 PHP 文件操作类(创建文件并写入) 生成日志 /** * 文件操作(生成日志)支持多条插入 * (如果插入多条语句并换行 ...

  2. php点击按钮创建文件,PHP 文件操作类(创建文件并写入) 生成日_php

    path = $path; } //判断操作方式 a追加写 if (! empty ( $mode )) { $this->mode = $mode; } //判断写入的内容 if (! emp ...

  3. java文件操作和_JAVA文件操作类和文件夹的操作

    JAVA文件操作类和文件夹的操作 package com.gamvan.tools; import java.io.BufferedReader; import java.io.File; impor ...

  4. php建立数据库操作类,PHP数据库操作类的定义及使用

    PHP数据库操作类的定义及使用 点击数:8894  发布时间2017-08-01 22:33:39 class myconn{ private $host; private $user; privat ...

  5. mysql的数据库操作类_MYSQL数据库操作类

    class MSSQLDB { //MYSQL数据库操作类 //使用说明: //该类完全按照ADO的习惯书写的,用过ASP的人都觉得ASP连接数据库比PHP好用(这是我的感觉), //但PHP得一个一 ...

  6. mysql 数据操作类_MySql数据库操作类

    using System; using System.Data; using System.IO; using System.Linq; using System.Text; using MySql. ...

  7. java date 操作类_JAVA时间操作类常用方法汇总

    1.JAVA中日期的获取.设置和格式化 (1)JAVA提供了3个日期类:Date.Calendar和DateFormat. Date()方法主要用于创建日期对象并获取日期: Calendar()方法主 ...

  8. c#oracle数据库操作类,Oracle数据库操作类(c#)

    用OracleConnection连接Oracle 在Web.config中配置 public System.Data.OracleClient.OracleConnection cnn; /// / ...

  9. mysql 数据操作类_MySql 数据操作类

    /// /// MySqlHelper 的摘要说明. /// public class MySqlHelper { public static string connectionString = Co ...

最新文章

  1. 在Windows 8.1上使用Fiddler重定向http请求进行前端调试
  2. DataBinding
  3. 《APUE》读书笔记—第十三章守护进程
  4. vue中 使用md5加密
  5. matlab模糊推理,模糊推理系统的matlab代码
  6. SQL 查询笔记:子查询,分组查询,左连接查询。。。。。
  7. ckEditor与ckFinder的集成
  8. matlab pi调节器,pi调节器的输入和输出_pi调节器的传递函数
  9. @inherited 注解详解
  10. 游戏工作室:代理IP老是跳怎么办?试试静态IP吧
  11. 苹果用计算机密码,苹果mac修改用户名与密码的方法 苹果电脑如何修改开机密码...
  12. 关于深恶痛绝的file类的delete问题
  13. 华为设备配置Smart Link负载分担
  14. JavaScript学习笔记--【黑马程序员】
  15. 读 活着 【思维导图版】
  16. Android - 吸顶效果 布局篇
  17. 关注民生民情——华北水利水电大学“情艺”国情社情调查
  18. 【ubuntu20.04上openvino安装及环境配置】
  19. BugKu--------你必须让他停下
  20. 找到任何你想要找的人-王春明大佬超强干货

热门文章

  1. 爱签电子合同助力生产制造业提升物资出入、产品质量审批效率
  2. 白高兴一场鸿蒙,白高兴一场的歇后语
  3. Go语言设计与实现 -- 反射
  4. 外卖和快递行业数据_“快递+外卖”究竟是好故事还是好模式?
  5. GAT1400:视图库对象
  6. 合宙Air101 的LCD怎么用Arudino IDE驱动
  7. 最大程度地降低乘员地伤害程度
  8. AE474 手绘漫画图形动画龙卷风海浪MG标题视频字幕效果工程AE模板
  9. ArrayBlockingQueue
  10. python数据类型二