文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP中怎么实现一个上传类

2023-06-17 20:31

关注

PHP中怎么实现一个上传类,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<?php   classupLoad  {    functioncreateHtml($info,$fileName)  {  }    functiondownLoad()  {}    functioninit($fileField,$length='')  {  $files=$_FILES[$fileField];  //用户名需要改动,根据自己的实际情况做改动  $userName='sanshi';  $fileName=$files['name'];  $fileType=$files['type'];  $fileTemp=$files['tmp_name'];  $fileSize=empty($length)?($files['size']+10):$length;  $fileError=$files['error'];//这块也许php4中没有  //改为  //if($this->_isType($fileName)||$this->_isBig($length ))  if(!$this->_isType($fileName)||$this->_isBig($length )||$fileError!=0)  {  //print_r($files);  returnfalse;  }else{  $path=$this->_createDir($userName);//取得路径  $createFileName=$userName."_".time();//设置当前文件名  $createFileType=$this->getFileType($fileName);//设置文件类别  return@move_uploaded_file($fileTemp,$path.$createFileName.'.'.$createFileType)?true:false;  }  }     function_isBig($length)  {  $bigest='';  return$big>$bigest?true:false;  }    functiongetFileType($fileName)  {  returnend(explode('.',$fileName));  }    function_isType($fileName,$method='false',$postFix=2)  {  //设置类别数组  $type=array('jpeg',  'gif',  'bmp',  'exe');  $fileName=strtolower($fileName);  $fileTypeArray=explode('.',$fileName);  $fileType=end($fileTypeArray);  //判断是否有一个文件有多个后缀  if($method)  {  if(count($fileTypeArray)>(is_int($postFix)?$postFix:2))  {  returnfalse;  }  }  returnin_array($fileType,$type);  }     function_createDir($userName)  {  $root='';  $pathSign=DIRECTORY_SEPARATOR;  $y=date('Y').$pathSign;  $m=date('m').$pathSign;  $d=date('d').$pathSign;  $path=$root.$y.$m.$d.$userName;  $dirArray=explode($pathSign,$path);  $tempDir='';  foreach($dirArrayas$dir)  {  $tempDir.=$dir.$pathSign;  $isFile=file_exists($tempDir);  clearstatcache();  if(!$isFile&&!is_dir($tempDir))  {  @mkdir($tempDir,0755);  }  }  return$path.$pathSign;  }    function_isDel($dirName)  {  //注意upLoadDir,一定要与真正使用目录相对应  $upLoadDir='';  $upLoadDir=preg_replace('/\\//','\/',$upLoadDir);  $format="/^{$upLoadDir}/";  returnpreg_match($format,$dirName);  }    functiondelFile($fileName)  {  $cur_dir=dirname(trim($fileName));  if($this->_isDel($cur_dir))  {  return@unlink($fileName)?true:false;  }else{  returnfalse;  }  }    functiondelDir($dirName)  {  if($this->_isDel($dirName)&&is_dir($dirName))  {  return@rmdir($dirName)?true:false;  }else{  returnfalse;  }  }   }  ?> <?php //使用    ?>

关于PHP中怎么实现一个上传类问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯