Move_uploaded_file($ _FILES .....)不工作

时间:2014-04-10 02:30:08

标签: php

之前,在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没有错误。

对此有所帮助。

3 个答案:

答案 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 /"与此脚本所在目录相关的目录。