首页 > php框架 > php文件上传

php文件上传

一款php文件上传实例哦,他可以支持txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid,jar,jad,exe,html,htm,css,js,doc上传,音乐文件等都可以。

一款php教程php教程实例哦,他可以支持txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid,jar,jad,exe,html,htm,php教程,js,doc上传,音乐文件等都可以。

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>php文件上传</title>
</head>

<body>
<form action="uploadsir.php" method="post"  enctype="multipart/form-data"><input name="filedata" type="file" id="filedata" />
<input type="submit" name="submit" value="上传" /></form>
<?php
if(!$_post)die();
$state=uploadfile(filedata);
if($state[err]){
die(<script>alert("上传出错:.$state[msg].");history.go(-1);</script>);
}

echo<object type="application/x-shockwave-flash" data="template/images/copy.swf?u=.weburl.$state[msg]." width="100" height="40">
<param name="movie" value="copy.swf?u=.weburl.$state[msg]." />;


function uploadfile($inputname)
{
 $immediate=$_get[immediate];
 $attachdir=../pictures;//上传文件保存路径,结尾不要带/
 $urldir="../pictures";
 $dirtype=2;//1:按天存入目录 2:按月存入目录 3:按扩展名存目录  建议使用按天存
 $maxattachsize=2097152;//最大上传大小,默认是2m
 $upext=txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid,jar,jad,exe,html,htm,css,js,doc;//上传扩展名
 
 $err = "";
 $msg = "";
 $upfile=$_files[$inputname];
 if(!empty($upfile[error]))
 {
  switch($upfile[error])
  {
   case 1:
    $err = 文件大小超过了php.ini定义的upload_max_filesize值;
    break;
   case 2:
    $err = 文件大小超过了html定义的max_file_size值;
    break;
   case 3:
    $err = 文件上传不完全;
    break;
   case 4:
    $err = 无文件上传;
    break;
   case 6:
    $err = 缺少临时文件夹;
    break;
   case 7:
    $err = 写文件失败;
    break;
   case 8:
    $err = 上传被其它扩展中断;
    break;
   case 999:
   default:
    $err = 无有效错误代码;
  }
 }
 elseif(empty($upfile[tmp_name]) || $upfile[tmp_name] == none)$err = 无文件上传;
 else
 {
   $temppath=$upfile[tmp_name];
   $fileinfo=pathinfo($upfile[name]);
   $extension=$fileinfo[extension];
   if(preg_match(/.str_replace(,,|,$upext)./i,$extension))
   {
    $filesize=filesize($temppath);
    if($filesize > $maxattachsize)$err=文件大小超过.$maxattachsize.字节;
    else
    {
     switch($dirtype)
     {
      case 1: $attach_subdir = day_.date(ymd); break;
      case 2: $attach_subdir = month_.date(ym); break;
      case 3: $attach_subdir = ext_.$extension; break;
     }
     $attach_dir = $attachdir./.$attach_subdir;
     if(!is_dir($attach_dir))
     {
      @mkdir($attach_dir, 0777);
      @fclose(php教程($attach_dir./index.htm, w));
     }
     php_version < 4.2.0 && mt_srand((double)microtime() * 1000000);
     $filename=date("ymdhis").mt_rand(1000,9999)...$extension;
     $target = $urldir./.$attach_subdir./.$filename;
     
     move_uploaded_file($upfile[tmp_name],$target);
     if($immediate==1)$target=!.$target;
     $msg=str_replace(../,"",$target);
    }
   }
   else $err=上传文件扩展名必需为:.$upext;

   @unlink($temppath);
 }
 return array(err=>$err,msg=>$msg);
}
?>
</body>
</html>


本文链接:http://www.phprm.com/frame/php1005128.html

收藏随意^^请保留教程地址.

标签:none

发表留言