php 异步上传图片几种方法总结
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-28 16:27:20 浏览: 评论:0
要实现异步上传图片方法有常用的有二种,一种是利用iframe实现,另一种是借助于ajax来实现一般用第三方插件了,上传图片form提交target到一个隐藏的iframe里,代码如下 :
- form action="upload.php" id="form1" name="form1" enctype="multipart/form-data" method="post" target="uploadIframe">
- <!--上传图片页面 -->
- </form>
- <iframe name="uploadIframe" id="uploadIframe" style="display:none"></iframe>
然后后台处理完上传图片逻辑后返回给前台,利用ajax修改当前页面DOM对象实现无刷新上传图片的友好功能,实例代码如下:a.html
- <form enctype="multipart/form-data" action="a.php" target="ifram_sign" method="POST">
- <input name="submit" id="submit" value="" type="hidden">
- <label>上传文件: <input name="test_file" type="file" id="test_file" size="48"></label>
- <input type="image" value="立即上传" id="submit_btn">
- </form>
- <iframe name="ifram_sign" src="" frameborder="0" height="0" width="0" marginheight="0" marginwidth="0"></iframe>
PHP代码如下:
- <?php
- if ($_FILES["test_file"]["error"] > 0)
- {
- echo "Error: " . $_FILES["test_file"]["error"] . "<br />";
- }//开源代码phpfensi.com
- else
- {
- //这里的判断图片属性的方法就不写了。自己扩展一下。
- $filetype=strrchr($_FILES["test_file"]["name"],".");
- $filetype=substr($filetype,1,strlen($filetype));
- $filename="img/".time("YmdHis").".".$filetype;
- move_uploaded_file($_FILES["test_file"]["tmp_name"],$filename);
- echo '<script >alert(1)</script>';
- $return="parent.document.getElementByIdx_x('mpic".$pageset_id."').innerHTML='".$dataimgpath."'";
- echo "<script >alert('上传成功')</script>";
- echo "<script>{$return}</script>";
- }
- ?>
其实jquery ajax图片异步上传,HTML:
- <!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" lang="en_US" xml:lang="en_US">
- <head>
- <title>图片异步上传</title>
- </head>
- <script type="text/javascript" src="js/jquery.js"></script>
- <script type="text/javascript" src="js/index.js"></script>
- <link type="text/css" rel="stylesheet" href="css/index.css">
- <body>
- <div class="frm">
- <form name="uploadFrom" id="uploadFrom" action="upload.php" method="post" target="tarframe" enctype="multipart/form-data">
- <input type="file" id="upload_file" name="upfile">
- </form>
- <iframe src="" width="0" height="0" style="display:none;" name="tarframe"></iframe>
- </div>
- <div id="msg">
- </div>
- </body>
- </html>
index.js,代码如下:
- $(function(){
- $("#upload_file").change(function(){
- $("#uploadFrom").submit();
- });
- });
- function stopSend(str){
- var im="<img src='upload/images/"+str+"'>";
- $("#msg").append(im);
- }
upload.php
- <?php
- $file=$_FILES['upfile'];
- $name=rand(0,500000).dechex(rand(0,10000)).".jpg";
- move_uploaded_file($file['tmp_name'],"upload/images/".$name);
- //调用iframe父窗口的js 函数
- echo "<script>parent.stopSend('$name')</script>";
- ?>
Tags: php异步上传 php上传图片
相关文章
- ·PHP上传图片程序代码工作笔记(2014-06-15)
- ·PHP中上传图片到服务器中程序代码(2014-07-26)
- ·php上传图片之时间戳命名(保存路径)(2021-03-31)
- ·PHP安全上传图片的方法(2021-05-17)
- ·php上传图片客户端和服务器端实现方法(2021-05-19)
- ·php实现上传图片文件代码(2021-06-13)
- ·php上传图片并压缩的实现方法(2021-06-30)
- ·php上传图片获取路径及给表单字段赋值的方法(2021-07-07)
- ·php上传图片类及用法示例(2021-08-02)
- ·PHP上传文件及图片到七牛的方法(2021-10-19)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)