在HTML页面
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>使用iframe完成文件上传</title> <script type="text/javascript" src="../js/jquery.js"></script> <script type="text/javascript"> function iframeUp() { //生成一个名称 var fname = ‘up‘+Math.random(); //动态生成一个iframe标签 $("<iframe width=‘0‘ height=‘0‘ frameBorder=‘0‘ name=‘"+fname+"‘></iframe>").appendTo($(‘body‘)); //将form表示的target值改为iframe的name值 $("form:first").attr(‘target‘,fname); } </script> </head> <body> <h1>使用iframe完成文件上传</h1> <form action="upload.php" onsubmit="return iframeUp();" method="post" enctype="multipart/form-data"> <input type="file" name="pic" onchange="$(‘form‘).submit()" /> </form> <h2></h2> </body> </html>
在php页面
<?php error_reporting(E_ALL &~ E_NOTICE); if($_FIELS[‘pic‘][‘error‘] != 0) { exit("没有文件被上传"); } //生成新的文件名 $arr = explode(".",$_FILES[‘pic‘][‘name‘]); $newFileName = @mt_rand(100000,999999).‘.‘.end($arr); //上传文件,并生成预览的效果 if(move_uploaded_file($_FILES[‘pic‘][‘tmp_name‘],"../uploads/".$newFileName)) { echo "<script type=‘text/javascript‘>parent.document.getElementsByTagName(‘h2‘)[0].innerHTML = ‘<img src=\"../uploads/{$newFileName}\" width=\"400px\" height=\"400px\"/>‘</script>"; }
原文:http://www.cnblogs.com/liuwz/p/4109175.html