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

yipeiwu_com5年前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版微信小店API二次开发及使用示例

本文实例讲述了php版微信小店API二次开发及使用方法。分享给大家供大家参考,具体如下: 1. weixiaodian.php页面: <?php class wXd...

phpmailer绑定邮箱的实现方法

phpmailer绑定邮箱的实现方法

本文实例讲述了phpmailer绑定邮箱的实现方法。分享给大家供大家参考,具体如下: 效果如下: 1.配置 <?php return array ( 'email...

PHP开启opcache提升代码性能

配置指令如下: [opcache] zend_extension=opcache.so opcache.enable_cli=1 ;共享内存大小, 这个根据你们的需求可调 opcac...

phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法

很多人在使用phpmailer发送邮件之后,都想知道对方是否阅读了邮件?通常来说,这个我们是无法知道的,那么有没有办法呢? 对于这个问题有一个简单的解决方法,我们知道,邮件内容可以以ht...

php使用PDO下exec()函数查询执行后受影响行数的方法

本文实例讲述了php使用PDO下exec()函数查询执行后受影响行数的方法。分享给大家供大家参考,具体如下: exec()方法返回执行后受影响的行数。 语法:int PDO::exec(...