首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用ajax和php上传文件

使用AJAX和PHP上传文件的方法如下:

  1. 创建HTML表单:
代码语言:html
复制
<form id="upload_form" enctype="multipart/form-data">
 <input type="file" name="fileToUpload" id="fileToUpload">
 <button type="submit">上传文件</button>
</form>
  1. 使用JavaScript和AJAX发送文件:
代码语言:javascript
复制
document.getElementById("upload_form").addEventListener("submit", function(e) {
  e.preventDefault();
  var formData = new FormData(this);
  var xhr = new XMLHttpRequest();
  xhr.open("POST", "upload.php", true);
  xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
      alert(xhr.responseText);
    }
  };
  xhr.send(formData);
});
  1. 创建PHP文件处理程序(upload.php):
代码语言:php
复制
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
  $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
  if($check !== false) {
    echo "文件是一张图片 - " . $check["mime"] . ".";
    $uploadOk = 1;
  } else {
    echo "文件不是一张图片。";
    $uploadOk = 0;
  }
}

// Check if file already exists
if (file_exists($target_file)) {
  echo "文件已经存在。";
  $uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
  echo "非法的文件格式。";
  $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
  echo "文件上传失败。";
// if everything is ok, try to upload file
} else {
  if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "文件 ". basename( $_FILES["fileToUpload"]["name"]). " 已经上传成功。";
  } else {
    echo "文件上传出现错误。";
  }
}
?>

这个方法将使用AJAX和PHP上传文件,并且可以在不刷新页面的情况下上传文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

19分24秒

50、文件上传-单文件与多文件上传的使用

17分1秒

最新PHP基础常用扩展功能 41.认识文件上传 学习猿地

16分56秒

最新PHP基础常用扩展功能 42.执行文件上传 学习猿地

20分23秒

文件上传与下载专题-10-使用第三方工具实现上传之对上传文件目录的管理

8分51秒

文件上传与下载专题-09-使用第三方工具实现上传之对上传文件大小的限制

18分8秒

最新PHP基础常用扩展功能 47.单文件上传函数封装 学习猿地

6分5秒

12.使用 xUtils3 大文件上传.avi

14分8秒

8.使用 Utils 进行文件的上传.avi

40分19秒

文件上传与下载专题-06-使用第三方工具实现上传之基本上传

16分46秒

最新PHP基础常用扩展功能 48.多文件上传功能封装 学习猿地

20分33秒

文件上传与下载专题-07-使用第三方工具实现上传之设置临时文件

15分55秒

文件上传与下载专题-08-使用第三方工具实现上传之解决文件名相关问题

领券