php利用iframe实现无刷新文件上传功能的代码

  作者:bea

代码如下: <html>   <head>   <title>无刷新上传文件</title>   <meta Content-type="text/html" charset="utf-8" />   <script type="text/网页特效">   function startUpload() {   document.getElementById('processing').i

代码如下:


<html>

 <head>

 <title>无刷新上传文件</title>

 <meta Content-type="text/html" charset="utf-8" />

 <script type="text/网页特效">

 function startUpload() {

 document.getElementById('processing').innerHTML = 'loding...';

 return true;

 }

 function stopUpload(rel){

 var msg;

 switch (rel) {

 case 0:

 msg = "上传成功";

 break;

 case 1:

 msg = "上传的文件超过限制";

 break;

 case 2:

 msg = "只能上传图片文件";

 break;

 default:

 msg = "上传文件失败";

 }

 document.getElementById('processing').innerHTML = msg;

 }

 </script>

 </head>

 <body>

 <div style="text-align:center">

 <div id="processing"></div>

 <form action="upload.php教程" method="post" enctype="multipart/form-data" target="form-target" onsubmit="startUpload();">

 <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />

 <input type="file" name="myfile" />

 <input type="submit" name="sub" value="upload" />

 </form>

 <iframe style="width:0; height:0; border:0;" name="form-target"></iframe>

 </div>

 </body>

 </html>

 php代码

 <?php

 sleep(2);

 $fileTypes = array('jpg','png','gif','bmp');

 $result = null;

 $uploadDir = './upfiles';

 $maxSize = 1 * pow(2,20);

 if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['sub'])) {

 $myfile = $_FILES['myfile'];

 $myfileType = substr($myfile['name'], strrpos($myfile['name'], ".") + 1);

 if ($myfile['size'] > $maxSize) {

 $result = 1;

 } else if (!in_array($myfileType, $fileTypes)) {

 $result = 2;

 } elseif (is_uploaded_file($myfile['tmp_name'])) {

 $toFile = $uploadDir . '/' . $myfile['name'];

 if (@move_uploaded_file($myfile['tmp_name'], $toFile)) {

 $result = 0;

 } else {

 $result = -1;

 }

 } else {

 $result = 1;

 }

 }

 ?>

 <script type="text/javascript">

 window.top.window.stopUpload(<?php echo $result; ?>);

 </script>




有用  |  无用

猜你喜欢