php文件上传简单实例

 代码如下 复制代码

<!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(fopen($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>

时间: 2024-11-27 10:55:37

php文件上传简单实例的相关文章

php jquery 多文件上传简单实例

 这篇文章主要介绍了php jquery 多文件上传简单实例,有需要的朋友可以参考一下   代码如下: <div id="mulitplefileuploader">Upload</div>     <div id="status"></div>   <script>     $(document).ready(function()   {     var settings = {       url: &

用fileupload组件实现的大文件上传简单实例_JSP编程

1.FileUploadServlet.java文件,实现上传处理 import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.text.DecimalFormat; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servl

php 文件上传简单实例应用

<html> <head><title>php 文件上传简单实例应用</title></head> <body>  代码如下 复制代码 <!-- 表单的enctype属性必须指定为multipart/form-data --> <form enctype="multipart/form-data" action="3.php" method="post"&g

jsp文件上传简单实例分享

㈠ 表单要求 对于上传文件的form表单,有两个要求: 1.method应用post,即method="post". 2.增加属性:enctype="multipart/form-data" 下面是一个用于上传文件的form表单的例子:   <form method="post" enctype="multipart/form-data" action="/jsp教程smartupload/upload.jsp

php 文件上传简单实例代码

<?php教程 if($_FILES['file']){  // ----------------------------------------------------------------------------------------------// // // 说明:文件上传   日期:2004-5-2 // // --------------------------------------------------------------------------------------

php jquery 多文件上传简单实例_php实例

复制代码 代码如下: <div id="mulitplefileuploader">Upload</div>  <div id="status"></div>  <script>  $(document).ready(function()  {  var settings = {      url: "upload.php",      method: "POST",

PHP实现文件上传下载实例_php实例

本文介绍了PHP实现文件上传与下载,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧. 一.上传原理与配置 1.1 原理 将客户端文件上传到服务器端,再将服务器端的文件(临时文件)移动到指定目录即可. 1.2 客户端配置 所需:表单页面(选择上传文件): 具体而言:发送方式为POST,添加enctype="multipart/form-data"属性,两者缺一不可(但是,优缺点并存,这里也限定了上传的方式和上传的文件之后的调用等方面,后面会说到) <!DOCTYPE h

JavaWeb文件上传下载实例讲解(酷炫的文件上传技术)_java

一.课程概述 在Web应用系统开发中,文件上传功能是非常常用的功能,今天来主要讲讲JavaWeb中的文件上传功能的相关技术实现,并且随着互联网技术的飞速发展,用户对网站的体验要求越来越高,在文件上传功能的技术上也出现许多创新点,例如异步上传文件,拖拽式上传,黏贴上传,上传进度监控,文件缩略图,大文件断点续传,大文件秒传等等. 本课程需要的基础知识: 了解基本的Http协议内容 基本IO流操作技术 Servlet基础知识 javascript/jQuery技术基础知识 二.文件上传的基础 对于文件

最详细的文件上传下载实例详解(推荐)_java

在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru