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

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<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>

相关文章

php程序效率优化的一些策略小结

1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意...

php魔术函数__call()用法实例分析

本文实例分析了php魔术函数__call()用法。分享给大家供大家参考。具体如下: php魔术函数__call()的介绍,看完下面的实例就明白了: <?php clas...

mongodb和php的用法详解

Mognodb数据库连接. 默认格式 $m = new Mongo(); //这里采用默认连接本机的27017端口,当然也可以连接远程主机如 192.168.0.4:27017,如...

PHP中array_merge和array相加的区别分析

首先来看看键名是string,两者区别: 复制代码 代码如下:<?php$arr1 = array('a'=>'PHP');$arr2 = array('a'=>'JA...

PHP HTML代码串 截取实现代码

而且给的数据是HTML代码串,比如这样: <div class=”aaa”><a href=”/aaa.php?id=1″>张三</a> ...