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. 在VC中显示和处理图片的方法

    落鹤生 发布于 2011-10-21 09:12 点击:344次  来自:blog.csdn.net/mengaim_cn 几种用GDI画图的方法介绍. TAG: GDI   法1:这个方法其实用的是 ...

  2. 【转】win7(windows7)下java环境变量配置方法

    原文网址:http://jingyan.baidu.com/article/925f8cb836b26ac0dde0569e.html win7(windows7)下java环境变量配置方法,java ...

  3. 也谈http中get和post

    1.get和post区别: 从设计初衷考虑get是为了查询服务器资源(不改变服务器数据及状态,因此说它是安全和幂等的,但get请求参数一般是直接在url后面,浏览器地址栏中会被看到能保存书签及历史记录 ...

  4. TCP/IP详解学习笔记(12)-TCP的超时与重传

    超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止. 1.超时 超 ...

  5. (function(){})()这个是什么?有不明觉厉的感觉么?

    今天在RunJs上看到一个人分享的一个jquery代码,写的是jquery弹性滑动效果.不过,看着看着,发现一句代码(function{})(),突然有种不明觉厉的感觉. 事实上,只是因为我们没有用过 ...

  6. Zend Framework 入门(4)—页面布局

    Zend Framework 的页面布局模块——Zend_Layout——既可以跟 MVC 一起使用,也可以单独使用.本文只讨论与 MVC 一起使用的情况. 1. 布局脚本 在 application ...

  7. java web 学习三(Tomcat 服务器学习和使用2)

    一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:

  8. 转载: Vim 练级攻略

    转自:http://coolshell.cn/articles/5426.html  酷壳 vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类, ...

  9. NiuTrans 日记 1

    这些天把东北大学自然语言实验室的NiuTrans 系统搭建并按照例子将短语系统运行了一遍,写这个日记主要是为了以后能提醒自己在这其中遇到的问题. 环境:短语系统我是windows和linux都运行了, ...

  10. Windows7 64位系统下无法安装网络打印机的解决方法

    背景: 公司一台HP LaserJet 1010 打印机连在一台Windows XP的电脑上,而我的是windows7 64位系统,无法安装驱动解决办法:1:去惠普官网上下载对应的64位驱动(什么Vi ...