漠岚php文件操作类,php文件操作
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文件操作相关推荐
- php文件写入生成文件,PHP 文件操作类(创建文件并写入) 生成日志
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 PHP 文件操作类(创建文件并写入) 生成日志 /** * 文件操作(生成日志)支持多条插入 * (如果插入多条语句并换行 ...
- php点击按钮创建文件,PHP 文件操作类(创建文件并写入) 生成日_php
path = $path; } //判断操作方式 a追加写 if (! empty ( $mode )) { $this->mode = $mode; } //判断写入的内容 if (! emp ...
- java文件操作和_JAVA文件操作类和文件夹的操作
JAVA文件操作类和文件夹的操作 package com.gamvan.tools; import java.io.BufferedReader; import java.io.File; impor ...
- php建立数据库操作类,PHP数据库操作类的定义及使用
PHP数据库操作类的定义及使用 点击数:8894 发布时间2017-08-01 22:33:39 class myconn{ private $host; private $user; privat ...
- mysql的数据库操作类_MYSQL数据库操作类
class MSSQLDB { //MYSQL数据库操作类 //使用说明: //该类完全按照ADO的习惯书写的,用过ASP的人都觉得ASP连接数据库比PHP好用(这是我的感觉), //但PHP得一个一 ...
- mysql 数据操作类_MySql数据库操作类
using System; using System.Data; using System.IO; using System.Linq; using System.Text; using MySql. ...
- java date 操作类_JAVA时间操作类常用方法汇总
1.JAVA中日期的获取.设置和格式化 (1)JAVA提供了3个日期类:Date.Calendar和DateFormat. Date()方法主要用于创建日期对象并获取日期: Calendar()方法主 ...
- c#oracle数据库操作类,Oracle数据库操作类(c#)
用OracleConnection连接Oracle 在Web.config中配置 public System.Data.OracleClient.OracleConnection cnn; /// / ...
- mysql 数据操作类_MySql 数据操作类
/// /// MySqlHelper 的摘要说明. /// public class MySqlHelper { public static string connectionString = Co ...
最新文章
- 在Windows 8.1上使用Fiddler重定向http请求进行前端调试
- DataBinding
- 《APUE》读书笔记—第十三章守护进程
- vue中 使用md5加密
- matlab模糊推理,模糊推理系统的matlab代码
- SQL 查询笔记:子查询,分组查询,左连接查询。。。。。
- ckEditor与ckFinder的集成
- matlab pi调节器,pi调节器的输入和输出_pi调节器的传递函数
- @inherited 注解详解
- 游戏工作室:代理IP老是跳怎么办?试试静态IP吧
- 苹果用计算机密码,苹果mac修改用户名与密码的方法 苹果电脑如何修改开机密码...
- 关于深恶痛绝的file类的delete问题
- 华为设备配置Smart Link负载分担
- JavaScript学习笔记--【黑马程序员】
- 读 活着 【思维导图版】
- Android - 吸顶效果 布局篇
- 关注民生民情——华北水利水电大学“情艺”国情社情调查
- 【ubuntu20.04上openvino安装及环境配置】
- BugKu--------你必须让他停下
- 找到任何你想要找的人-王春明大佬超强干货