PHP dofile.php 文件上传源代码

<?

php
$file_upload = "upload/";
$file_allow_ext='gif|jpg|jpeg|png|gif|zip|rar|ppt|xls|pdf|pptx|xlsx|docx';
$file_allow_size = 5*1024*1024;
if($_POST['submit']=="上传"){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
$file_name = $_FILES['file']['name'];
$file_error = $_FILES['file']['error'];
$file_type = $_FILES['file']['type'];
$file_tmp_name = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_ext = substr($file_name, strrpos($file_name, '.')+1);
switch($file_error){
case 0:
$data['status'] = 0;
$data['msg'] = "文件上传成功!";
break; case 1:
$data['status'] = 1;
$data['msg'] = "文件上传失败,文件大小".$file_size."超过限制,同意上传大小".sizeFormat($file_allow_size)."!";
break; case 3:
$data['status'] = 1;
$data['msg'] = "上传失败,文件仅仅有部份上传!";
break; case 4:
$data['status'] = 1;
$data['msg'] = "上传失败,文件没有被上传!";
break; case 5:
$data['status'] = 1;
$data['msg'] = "文件上传失败,文件大小为0!";
break;
}
if(stripos($file_allow_ext,$file_ext)===false){
$data['status'] = 1;
$data['msg'] = "该文件扩展名不同意上传";
}
if($file_size>$file_allow_size){
$data['status'] = 1;
$data['msg'] = "文件大小超过限制,仅仅能上传".sizeFormat($file_allow_size)."的文件!";
}
if($data['status']==1){
$data['status'] = 1;
$data['msg'] = $data['msg'];
exit(json_encode($data));
}
if($data['status']==0){
if(file_exists($file_upload)){
$file_new_name = date("YmdHis").'_'.rand(10000,99999).'.'.$file_ext;
$file_save_path = $file_upload.$file_new_name;
$data['status'] = 0;
$data['url'] = $file_save_path;
move_uploaded_file($file_tmp_name,$file_save_path);
exit(json_encode($data));
}else{
exit(json_encode($data));
} }
}
} function sizeFormat($size)
{
$sizeStr='';
if($size<1024)
{
return $size."bytes";
}
else if($size<(1024*1024))
{
$size=round($size/1024,1);
return $size."KB";
}
else if($size<(1024*1024*1024))
{
$size=round($size/(1024*1024),1);
return $size."MB";
}
else
{
$size=round($size/(1024*1024*1024),1);
return $size."GB";
}
} ?>

HTML例如以下

<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="http://files.cnblogs.com/files/china-li/jquery.form.js"></script> <form action="dofile.php" method="post" enctype="multipart/form-data" id="upfileimage">
<input type="hidden" name="image[]" />
<label for="file">文件:</label><input type="file" name="file" id="file" />
<input type="submit" name="submit" value="上传" />
</form> <script type="text/javascript">
$("#upfileimage").submit(function(){
if($("input[type=file]").val()==""){
alert("请选择要上传的文件");
return false;
}
})
$(function(){
var options = {
type:"POST",
dataType:"json",
resetForm:true,
success:function(o){
if(o.status==1){
alert(o.msg);
}else{
$("body").append("&nbsp;&nbsp;<img src='"+o.url+"' alt='' width='100' /><input type='hidden' name='image[]' value='"+o.url+"' />");
}
},
error:function(o){
alert(o.message);
}
}
$("#upfileimage").ajaxForm(options).submit(function(){return false;}); })
</script>

PHP AJAXFORM提交图片上传并显示图片源代码的更多相关文章

  1. django上传并显示图片

    环境 python 3.5 django 1.10.6 步骤 创建名为 testupload的项目 django-admin startproject testupload 在项目testupload ...

  2. input上传文件显示图片缩略图

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. django后台处理前端上传和显示图片

      1:项目根目录存放图片的目录 2:settings.py  添加 MEDIA_ROOT = os.path.join(BASE_DIR, "media") 3:url.py 添 ...

  4. html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

    以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上 ...

  5. ruby on rails爬坑(三):图片上传及显示

    一,问题及思路 最近在用rails + react + mysql基本框架写一个cms + client的项目,里面涉及到了图片的上传及显示,下面简单说说思路,至于这个项目的配置部署,应该会在寒假结束 ...

  6. 图片上传即时显示javascript代码

    这是基于javascript的一种图片上传即时显示方法,测试结果IE6和火狐浏览器可以正常使用.google浏览器不兼容. 这种方法兼容性比较差,仅供参考,建议使用ajax方法来即时显示图片. 1.首 ...

  7. 图片上传并显示(兼容ie),图片大小判断

    图片上传并显示(兼容ie),图片大小判断 HTML <div id="swf" style="margin: 0 auto;text-align: center;& ...

  8. struts中用kindeditor实现的图片上传并且显示在页面上

    做公司网站的时候由于需要在内容属性中加入图片,所以就有了这个问题,本来一开始找几篇文章看都是讲修改kindeditor/jsp/file_manager_json.jsp和upload_json.js ...

  9. Slog71_选取、上传和显示本地图片GET !(微信小程序之云开发-全栈时代3)

    ArthurSlog SLog-71 Year·1 Guangzhou·China Sep 12th 2018 ArthurSlog Page GitHub NPM Package Page 掘金主页 ...

随机推荐

  1. Mybatis拦截器介绍

    拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法.Mybatis拦截器设计的一个初 ...

  2. HDU5790 Prefix 字典树+主席树

    分析:这个题和spoj的d_query是一个题,那个是求一段区间里有多少个不同的数字,这里是统计有多少个不同的前缀 用字典树进行判重,(和查询不同的数字一样)对于每个不同的前缀,只保留它最后一次出现的 ...

  3. [Web API] 如何让 Web API 统一回传格式以及例外处理[转]

    [Web API] 如何让 Web API 统一回传格式以及例外处理 前言 当我们在开发 Web API 时,一般的情况下每个 API 回传的数据型态或格式都不尽相同,如果你的项目从头到尾都是由你一个 ...

  4. MorningSale 介绍

    MorningSale是一个WEB端的收集门店销售数据,显示销售数据的简单系统,我相信该系统能够有效的提高销售公司在门店销售数据收集 汇总 分析方面的工作效率. 主要功能介绍如下: 1.查看某个店面 ...

  5. C#调用C++导出类(转)

    由于使用别人的Dll,导出的是一个实体类,在C#里封送很难,百度下,有个朋友回复一篇英文的,虽然不一定使用,但可以作为一个知识点,现把原文贴下: c#调用C++写的dll导出类,包含继承,重载等详细介 ...

  6. well-posed problem and ill-posed problem

    well-posed problem must have the property that A solution exists The solution is unique The solution ...

  7. 《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇03:子弹发射》

    3.子弹发射 子弹发射概述: 在打飞机游戏中,子弹是自动发射的.子弹与子弹之间间隔一定的时间,玩家通过上下左右控制游戏角色,来达到躲避敌人及击中敌人的操作. 发射原理: 抽象理解为有两个容器存放子弹, ...

  8. Hadoop-Map/Reduce实现实现倒排索引

    先来简单介绍一下什么是文档倒排索引 倒排索引是文档检索系统中最常见的数据结构,被广泛应用在全文搜索引擎上.主要用来存储某个单词(或词组)在一个文档或者一组文档中的存储位置的映射,即提供了一种根据内容来 ...

  9. 让sublime text 2更好地支持Python

    SublimeCodeIntel: ~/.codeintel/config里加了python和pythonExtraPaths的路径(Mac): {"Python" : {&quo ...

  10. HDU4864:Task(贪心)

    题意: 给出n个机器和m个任务,对于一天来说,每个机器有最大工作时间xi,可接受最大等级yi,每个任务有一个工作时间xi,一个等级yi,可获价值为500*xi+2*yi,任务需要在一台机器一天内完成, ...