如何用PHP正确地将上传文件移动到指定位置?
如何将输入文件上传到不同的位置
如何将选定的文件从 input 文件域传输到另一个位置?
问题分析
如问题所述,使用 input 元素上传文件并将其路径存储在 repath 变量中。然后,使用 ajax 将路径传递到 php 脚本,并在 php 脚本中尝试使用 rename 函数将文件移动到新路径。但是,此方法不起作用。
立即学习“PHP免费学习笔记(深入)”;
解决方案
正确的解决方案是使用 html form 元素和 multipart/form-data 编码类型,如下所示:
<form action='xx.php' method='post' enctype='multipart/form-data'> <input type='file' name='pic' accept='image/*' id='file'/> <input type='submit' name='btn'/></form>
在 php 脚本中,使用 $_files 数组接收文件信息:
$temporary_path = $_FILES['pic']['tmp_name'];$new_path = './1.jpg';if (move_uploaded_file($temporary_path, $new_path)) { // 移动成功} else { // 移动失败}
move_uploaded_file 函数将文件从临时位置移动到指定的路径。