php+js实现异步图片上传实例分享


Posted in PHP onJune 02, 2014

upload.php

<?php
if(isset($_FILES["myfile"]))
{
$ret = array();
$uploadDir = 'images'.DIRECTORY_SEPARATOR.date("Ymd").DIRECTORY_SEPARATOR;
$dir = dirname(__FILE__).DIRECTORY_SEPARATOR.$uploadDir;
file_exists($dir) || (mkdir($dir,0777,true) && chmod($dir,0777));
if(!is_array($_FILES["myfile"]["name"])) //single file
{
$fileName = time().uniqid().'.'.pathinfo($_FILES["myfile"]["name"])['extension'];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$dir.$fileName);
$ret['file'] = DIRECTORY_SEPARATOR.$uploadDir.$fileName;
}
echo json_encode($ret);
}
?>

index.html

<!DOCTYPE html>
<html>
<head>
    <title>Html5 Ajax 上传文件</title>
    <meta charset="utf-8">
<script type="text/javascript">

    var xhr;
    function createXMLHttpRequest()
    {
        if(window.ActiveXObject)
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if(window.XMLHttpRequest)
        {
            xhr = new XMLHttpRequest();
        }
    }

    function UpladFile()
    {
        var fileObj = document.getElementById("file").files[0];
        var FileController = 'upload.php';
        var form = new FormData();
        form.append("myfile", fileObj);
        createXMLHttpRequest();
        xhr.onreadystatechange = handleStateChange;
        xhr.open("post", FileController, true);
        xhr.send(form);
    }

    function handleStateChange()
    {
        if(xhr.readyState == 4)
        {
            if (xhr.status == 200 || xhr.status == 0)
            {
                var result = xhr.responseText;
                var json = eval("(" + result + ")");
                alert('图片链接:\n'+json.file);
            }
        }
    }

</script>

<style>
    .txt{ height:28px; border:1px solid #cdcdcd; width:670px;}
    .mybtn{ background-color:#FFF; line-height:14px;vertical-align:middle;border:1px solid #CDCDCD;height:30px; width:70px;}
    .file{ position:absolute; top:0; right:80px; height:24px; filter:alpha(opacity:0);opacity: 0;width:260px }
</style>
</head>

<body>
<div class="form-group">
    <label class="control-label">图片</label>
    <br/>
    <input type='text' name='textfield' id='textfield' class='txt' />
    <span onclick="file.click()"  class="mybtn">浏览...</span>
    <input type="file" name="file" class="file" id="file" size="28" onchange="document.getElementById('textfield').value=this.value" />
    <span onclick="UpladFile()" class="mybtn">上传</span>
</div>
</body>

</html>
PHP 相关文章推荐
php访问查询mysql数据的三种方法
Oct 09 PHP
php单件模式结合命令链模式使用说明
Sep 07 PHP
网站用php实现paypal整合方法
Nov 28 PHP
PHP分页函数代码(简单实用型)
Dec 02 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
php实例分享之html转为rtf格式
Jun 02 #PHP
php 伪静态之IIS篇
Jun 02 #PHP
php伪静态之APACHE篇
Jun 02 #PHP
50个PHP程序性能优化的方法
Jun 02 #PHP
浅谈php扩展imagick
Jun 02 #PHP
PHP小技巧之函数重载
Jun 02 #PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 #PHP
You might like
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
Python实现的弹球小游戏示例
2017/08/01 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
python之mock模块基本使用方法详解
2019/06/27 Python
python图形绘制奥运五环实例讲解
2019/09/14 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
python实现学生成绩测评系统
2020/06/22 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
俄语翻译实习生的自我评价分享
2013/11/06 职场文书
校园安全检查制度
2014/02/03 职场文书
我爱读书演讲稿
2014/05/07 职场文书
会计工作岗位职责
2015/02/03 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
同事去世追悼词
2015/06/23 职场文书
少先队入队仪式主持词
2015/07/04 职场文书
学生会任命书范本
2015/09/21 职场文书
Python实现文字pdf转换图片pdf效果
2022/04/03 Python