服务器之家

服务器之家 > 正文

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

时间:2019-12-13 10:21     来源/作者: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> 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部