php move_上传文件强制提供新名称

php move_上传文件强制提供新名称,php,Php,我试图上传文件使用php,代码snippt $upload_path = "/var/upload/" . $_FILES['mfile']['name']; if(move_uploaded_file($_FILES['mfile']['tmp_name'], $upload_path)) echo "file uploaded"; else echo "upload failed"; 注意:/var/upload目录存在并且具有777权限 代码打印“上传失败” 当我检查/v

我试图上传文件使用php,代码snippt

$upload_path = "/var/upload/" . $_FILES['mfile']['name'];
if(move_uploaded_file($_FILES['mfile']['tmp_name'], $upload_path))
    echo "file uploaded";
else
    echo "upload failed";
注意:/var/upload目录存在并且具有777权限

代码打印“上传失败”

当我检查/var/upload目录时,有一个文件f_505bf77bd8a0f_mypdf.pdf。出了什么问题

添加日志(根据loler的要求):

添加了变量转储($\u文件)


请尝试使用此代码上载文件

if (file_exists("/var/upload/" . $_FILES["file"]["name"]))
  {
  echo $_FILES["file"]["name"] . " already exists. ";
  }
else
  {
  move_uploaded_file($_FILES["file"]["tmp_name"],
  "/var/upload/" . $_FILES["file"]["name"]);
  echo "Stored in: " . "/var/upload/" . $_FILES["file"]["name"];
  }
var\u dump()
中,有
$\u文件[“文件”][“名称”]
长度是23,但应该是9。所以试着修剪这个字符串。而不是

$upload_path = "/var/upload/" . $_FILES['mfile']['name'];
试着写

$upload_path = "/var/upload/" . trim($_FILES['mfile']['name']);

你的爱好是什么?你确定你看到的这个文件与你的上传有关,而不是来自其他地方吗?(如果您非常信任用户提供的文件名,那么最终将覆盖现有文件。)您可以查看Apache错误日志吗?DCoder,我是110%;-)当然可以。因为我从目录中删除了所有文件并尝试了脚本。我甚至验证了文件打开目录。我会var_dump$_文件,因为我敢打赌$_文件['mfile']可能不是您发布的文件。也许是“mfile”wrong@KrishnaSunuwar,您刚才说它返回“upload failed”,但是您可以转到Apache错误日志查看更详细的错误消息吗?当然,没有具有该名称的文件
$upload_path = "/var/upload/" . $_FILES['mfile']['name'];
$upload_path = "/var/upload/" . trim($_FILES['mfile']['name']);