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

yipeiwu_com7年前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优于Node.js的五大理由分享

作者Jani Hartikainen发表了一篇博文,文中将两者进行对比,列举了PHP优于Node.js的五大理由。一起来看下。 1. 容易托管 大多数Web托管服务器提供商能为PHP提供...

php版银联支付接口开发简明教程

本文实例讲述了php版银联支付接口开发的方法。分享给大家供大家参考,具体如下: 支付接口现在有第三方的支付接口也有银行的支付接口。这里就来介绍php版本银联支付接口开发的方法。 银联支付...

phpstorm编辑器乱码问题解决

PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。 由于PHPStorm编辑器默认是UTF-8编码...

java EJB 加密与解密原理的一个例子

加密与解密原理的一个例子 package lockunlock;  import Java.awt.*;  import java.aw...

编写PHP脚本过滤用户上传的图片

示例   下载 我在phpclasses.org上面偶然发现一个很有用的,由Bakr Alsharif开发的可以帮助开发者基于皮肤像素点来检测图片裸照的类文件. 它会...