Heim > php教程 > php手册 > Hauptteil

php 上传类(自家用)

WBOY
Freigeben: 2016-06-21 08:59:37
Original
832 Leute haben es durchsucht

/**
 * File up load class
 * @version  1.0.0 (Thu Aug 18 01:32:39 CST 2005)
 * @author  sanshi
 */
class upLoad
{
 /**
 *
 * @author   sanshi
 * @version  1.0.0 Thu Aug 18 01:00:18 CST 2005
 * @param  string $info   文件内容
 * @param  string $fileName    生成的文件名
 * @return   boolean    建立成功返回true
 * @deprecated
 * 建立html文件
 */
 function createHtml( $info ,$fileName )
 {
 }
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:03:09 CST 2005
 * @return  void
 * @deprecated
 * 构造函数
 */
 function downLoad()
 {}
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:03:55 CST 2005
 * @param   string $fileField 在表单中的字段名
 * @param   string $length      限制的长度
 * @return    boolean      成功返回true
 * @deprecated
 * 功能实现函数
 */
 function init($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);
   return false;
  }else{
   $path = $this->_createDir( $userName );//取得路径
   $createFileName = $userName . "_" . time();//设置当前文件名
   $createFileType = $this->getFileType($fileName);//设置文件类别
   return @move_uploaded_file($fileTemp,$path.$createFileName.'.'.$createFileType) ? true : false;
  }
 }
 
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:07:43 CST 2005
 * @param   int  $length  上传限制的大小
 * @return    boolean    超过返回true
 * @deprecated
 * 判断是否超过预定大小
 */
 function _isBig($length)
 {
  $bigest = '';
  return $big > $bigest ? true : false;
 }
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:08:55 CST 2005
 * @param   string  $fileName 文件名  
 * @return    string  $fileType 文件后缀
 * @deprecated
 * 取得文件后缀(只取得文件的最后一个后缀名)
 */
 function getFileType($fileName)
 {
  return end(explode('.',$fileName));
 }
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:10:41 CST 2005
 * @param  string $fileName 文件名
 * @param  boolean $method  是否检查多个后缀默认false
 * @param int  $postFix 后缀个数默认为2
 * @return   boolean    存在返回true
 * @deprecated
 * 检查文件的后缀是否在类别数组中,类别数组自己设置
 *   如果$method设置为true则检查文件有几个后缀
 */
 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) )
   {
    return false;
   }
  }
  return in_array($fileType,$type);
 }
 
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:17:19 CST 2005
 * @param   string $userName
 * @return    string $path
 * @deprecated
 * 建立目录 目录格式 年/月/日/用户名/
 *   权限为755
 */
 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 ( $dirArray as $dir)
  {
   $tempDir.= $dir.$pathSign;
   $isFile = file_exists( $tempDir );
   clearstatcache();
   if( ! $isFile && !is_dir( $tempDir ) )
   {
    @mkdir($tempDir,0755);
   }
  }
  return $path . $pathSign;
 }
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:19:32 CST 2005
 * @param   string  $dirName  目录名
 * @return    boolean 可以操作返回true
 * @deprecated
 * 判断操作是否在上传目录
 */
 function _isDel($dirName)
 {
  //注意upLoadDir,一定要与真正使用目录相对应
  $upLoadDir = '';
  $upLoadDir = preg_replace('/\\//','\/',$upLoadDir);
  $format      = "/^{$upLoadDir}/";
  return preg_match( $format,$dirName );
 }
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:25:58 CST 2005
 * @param  string  $fileName 文件名
 * @return   boolean  删除文件成功返回true
 * @deprecated
 * 删除文件 
 */
 function delFile( $fileName )
 {
  $cur_dir = dirname(trim($fileName));
  if( $this->_isDel( $cur_dir ) )
  {
   return @unlink( $fileName ) ? true : false;
  }else{
   return false;
  }
 }
 /**
 *
 * @author  sanshi
 * @version 1.0.0 Thu Aug 18 01:27:43 CST 2005
 * @param  string  $dieName 目录名
 * @return   boolean  删除成功返回true
 * @deprecated
 * 删除目录 目录下如果有文件不能删除
 */
 function delDir( $dirName )
 {
  if( $this->_isDel($dirName) && is_dir( $dirName ) )
  {
   return @rmdir( $dirName ) ? true : false;
  }else{
   return false;
  }
 }
 
}
?>
//使用
/*
include 'upLoad.class.php';
$up = new upLoad();
if($up->init("file"))
{
 echo 'success';
}else{
 echo 'failure';
}
*/
?>



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage