重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進(jìn)行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
header('Content-type:text/html;charset=utf-8');
/**
* [checkFilename 檢驗(yàn)文件名的合法性]
* @param [string] $filename [文件名]
* @return [bool] [合法返回真]
*/
function checkFilename($filename){
$pattern='/[\/,\*,<>,\?\|]/';
if(preg_match($pattern, $filename)){
return false;
}else{
return true;
}
}
#文件夾操作
/**
*遍歷目錄函數(shù),只讀取目錄中最外層的內(nèi)容
* @param string $path
* @return array
*/
function readDirectory($path){
echo $path;
$arr=array();
$handle=opendir($path);
while (($item=readdir($handle))!==false) {//運(yùn)用不全等于,防止文件名為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;
}
/**
* 創(chuàng)建一個(gè)文件夾
* @param [string] 文件夾名
* @return [string] [創(chuàng)建成功返回對應(yīng)的提示]
*/
function createFolder($dirname){
//檢測文件夾名稱的合法性
if(checkFilename(basename($dirname))){
//當(dāng)前目錄下是否存在同名文件夾名稱
if(!file_exists($dirname)){
if(mkdir($dirname,0777,true)){//0777最大文件權(quán)限,true表示可以創(chuàng)建子目錄
$mes='文件夾創(chuàng)建成功';
}else{
$mes='文件夾創(chuàng)建失敗!';
}
}else{
$mes='存在同名文件夾';
}
}else{
$mes='非法文件夾名稱';
}
return $mes;
}
/**
* 重命名文件夾
* @param [string] $oldname [原文件夾名]
* @param [string] $newname [新文件夾名]
* @return [string] [返回對應(yīng)的信息]
*/
function renameFolder($oldname,$newname){
if(checkFilename(basename($newname))){
//檢測到當(dāng)前目錄下是否存在同名文件夾名稱
if(!file_exists($newname)){
if(rename($oldname,$newname)){
$mes='重命名成功';
}else{
$mes='重命名失敗';
}
}else{
$mes='存在同名文件夾';
}
}else{
$mes='非法文件夾名稱';
}
return $mes;
}
/**
* 復(fù)制文件夾
* @param [string] $srcdir [源文件夾名]
* @param [string] $dstdir [目標(biāo)文件夾名]
* @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 '復(fù)制成功';
}
/**
* 剪切文件夾
* @param [string] $srcdir [源文件夾]
* @param [string] $dstdir [目標(biāo)文件夾]
* @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='目標(biāo)文件夾不是一個(gè)文件夾';
}
}else{
$mes='目標(biāo)文件夾不存在';
}
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 '刪除文件成功';
}
}
#文件操作
/**
* 轉(zhuǎn)換字節(jié)大小
* @param [number] $filesize [問價(jià)大小]
* @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];
}
/**
* 創(chuàng)建文件
* @param [string] $filename [要創(chuàng)建的文件名]
* @return [string] [返回創(chuàng)建文件的信息]
*/
function createFile($filename){
if(!checkFilename($filename)){
return '文件名非法';
}elseif(file_exists($filename)){
return '文件已存在';
}elseif(!touch($filename)){//創(chuàng)建文件的函數(shù)
return '文件創(chuàng)建失敗';
}
return '文件創(chuàng)建成功';
}
/**
* [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 '目標(biāo)文件名非法';
}
}
/**
* 刪除文件
* @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:p_w_upload:內(nèi)容配置:附件
header('content-disposition:p_w_upload;filename='.basename($filename));
header('content-length:'.filesize($filename));
readfile($filename);
}
/**
*復(fù)制文件
* @param [string] $srcfile [復(fù)制的源文件]
* @param [string] $dstfile [目標(biāo)文件]
* @return [string] [返回對應(yīng)的信息]
*/
function copyFile($srcfile,$dstfile){
if(!file_exists($srcfile)){
return '源文件不存在';
}
if(file_exists($dstfile)){
if(copy($srcfile,$dstfile.'/'.basename($srcfile))){
return '文件復(fù)制成功';
}else{
return '文件復(fù)制失敗';
}
}else{
return '目標(biāo)文件已存在';
}
}
/**
* 剪切文件
* @param [string] $srcfile [源文件]
* @param [string] $dstfile [目標(biāo)文件]
* @return [string] [返回對應(yīng)的信息]
*/
function cutFile($srcfile,$dstfile){
if(!file_exists($srcfile)){
return '源文件不存在';
}
if(file_exists($dstfile)){
if(rename($srcfile,$dstfile.'/'.basename($srcfile))){
return '文件剪切成功';
}else{
return '文件剪切失敗';
}
}else{
return '目標(biāo)目錄不存在';
}
}
/**
* 表單文件上傳
* @param [string] $fileInfo [$_FILE中前臺上傳按鈕對應(yīng)的的一部分]
* @param [string] $path [文件要保存的目錄]
* @param array $allwoExt [允許上傳的文件的后綴]
* @param integer $maxsize [文件的大小的最大值]
* @return [string] [返回對應(yīng)的錯誤信息]
*/
function uploadFile($fileInfo,$path,$allwoExt=array('gif','jpeg','jpg','png','txt'),$maxsize=10485760){
//判斷錯誤符號
if($fileInfo['error']==UPLOAD_ERR_OK){//或?yàn)?
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='超過了表單允許接收數(shù)據(jù)的大小';
break;
case 3:
$mes='文件被部分上傳';
break;
case 4:
$mes='沒有文件被上傳';
break;
default:
$mes='出現(xiàn)未知錯誤';
break;
}
}
return $mes;
}
?>