问题围绕在上实现基本文件上传功能使用 jQuery AJAX 和 PHP 的 Intranet 页面。用户已设置 HTML 和 jQuery 代码,但在上传文件并将其保存在所需目录中时遇到问题。此外,他们还寻求有关在服务器端重命名文件的建议。
jQuery 脚本通过 AJAX 请求将包含上传文件的表单发送到服务器端 PHP 脚本。但问题在于服务器上缺少 PHP 脚本来处理文件并将其移动到指定的上传目录。
服务器端 PHP 脚本
要解决此问题,服务器上需要一个名为“upload.php”的 PHP 脚本。该脚本将处理文件上传并执行必要的操作。以下是 PHP 脚本的代码:
<?php if (0 < $_FILES['file']['error']) { echo 'Error: ' . $_FILES['file']['error'] . '<br>'; } else { move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); } ?>
此 PHP 脚本:
在 jQuery 脚本中,URL 被修改为指向“upload.php”脚本。此外,将“dataType”更改为“text”可以显示 PHP 脚本的响应(如果有)。更新后的脚本:
$('#upload').on('click', function() { var file_data = $('#sortpicture').prop('files')[0]; var form_data = new FormData(); form_data.append('file', file_data); alert(form_data); $.ajax({ url: 'upload.php', dataType: 'text', cache: false, contentType: false, processData: false, data: form_data, type: 'post', success: function(php_script_response){ alert(php_script_response); } }); });
在上述解决方案中,上传的文件保留其原始名称。要重命名文件,请在 PHP 脚本中进行以下修改:
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/my_new_filename.whatever');
此行将 'uploads' 目录中的原始文件名替换为 'my_new_filename.whatever'。
以上是如何使用 PHP 服务器端实现解决 jQuery AJAX 文件上传问题?的详细内容。更多信息请关注PHP中文网其他相关文章!