PHP前端开发

如何使用 jQuery FileUpload、Ajax 和 PHP 实现简单的文件上传功能?

百变鹏仔 2天前 #PHP
文章标签 如何使用

jquery fileupload + ajax + php 文件上传

对于初学者来说,利用 jquery fileupload、ajax 和 php 构建文件上传功能可能会令人困惑。以下是一个简单的示例代码,可以帮助你入门:

<!-- html --><form id="file-upload-form" method="post" enctype="multipart/form-data">  <input type="file" id="file-input" name="file" multiple>  <button type="submit">上传</button></form>
// javascript$('#file-upload-form').submit(function(e){  e.preventdefault();   $.ajax({    url: 'upload.php',    type: 'post',    data: new formdata(this),    contenttype: false,    processdata: false,    success: function(data){      // 处理上传成功的响应    }  });});
// PHP<?phpif(isset($_FILES['file'])){  $errors = [];  // 检查文件上传是否成功  if($_FILES['file']['error'] !== UPLOAD_ERR_OK){    $errors[] = '文件上传失败';  }  // 检查文件大小  if($_FILES['file']['size'] > 1024 * 1024){    $errors[] = '文件太大';  }  // 检查文件类型  $allowedTypes = ['image/jpg', 'image/png', 'image/jpeg'];  if(!in_array($_FILES['file']['type'], $allowedTypes)){    $errors[] = '不支持的文件类型';  }  // 如果没有错误,则将文件保存到服务器  if(empty($errors)){    $target_dir = 'uploads/';    $target_file = $target_dir . basename($_FILES['file']['name']);    move_uploaded_file($_FILES['file']['tmp_name'], $target_file);  }  echo json_encode($errors);}?>