在
之前,在echo语句中正确回显文件上传的文件是:images/smoker1.jpg
,尺寸为10110
以下是代码:
if ( $_POST['upLoad']){
$path= "images/".$_FILES['myfile']['name'];
$echo "The uploaded file was to: $path and size was ".$_FILES['myfile']['size'] ;
move_uploaded_file($_FILES['myfile']['name'],"$path");
$F =$_SESSION['currentPage']; //load current page again
}
当我使用FTP检查目录images/
中的文件时,文件smoker1.jpg
不存在。
为什么?按下上传按钮时,PHP没有错误。
对此有所帮助。
答案 0 :(得分:1)
$_FILES['myfile']['name']
是用户计算机上存在的文件名。
服务器上的此文件名中不存在。上传文件在服务器上的实际名称为$_FILES['userfile']['tmp_name']
。这是您需要使用的文件。
答案 1 :(得分:1)
对于上传的文件, move_uploaded_file 需要第一个参数(字符串 文件名)中的临时文件名。
更改自:
move_uploaded_file($_FILES['myfile']['name'],"$path");
要:
move_uploaded_file($_FILES['myfile']['tmp_name'], $path);
答案 2 :(得分:0)
看起来您正在尝试将文件移动到名为" $ path"的文件夹中。
我无法告诉您,因为您在此处放置的代码会引发错误,您在回声前面有一个$。因此,我不确定move_uploaded_file中$ path附近的引号是否真的在你的真实代码中,或者只是你帖子中的拼写错误。
但如果是,请尝试删除该变量周围的引号。
如果不是,请确保您正在查看" images /"与此脚本所在目录相关的目录。