使用PHP重命名和上传文件时出错 - 未定义索引
问题描述:
下面是给定的代码。我想在上传之前重命名文件。提交时显示错误:未定义的索引。使用PHP重命名和上传文件时出错 - 未定义索引
if($_FILES['FPScreenShot']['name']==true)
{
$SPPic = ($_FILES['FPScreenShot']['name']);
$curTime = time();
$NewPriorPic = "prior";
$NewPriorPic = $NewPriorPic.$SGeiNo;
$NewPriorPic = $NewPriorPic.$SSurgDt;
$NewPriorPic = $NewPriorPic.$curTime;
move_uploaded_file($_FILES['FPScreenShot']['tmp_name'] , "upload_pictures/".$_FILES['$NewPriorPic']['name']);
}
else
{
$SPPic = "NIL";
}
答
已解决。供将来参考,如果有人需要。
if($_FILES['FPScreenShot']['name']==true)
{
$SPPic = ($_FILES['FPScreenShot']['name']);
$ext = pathinfo($SPPic, PATHINFO_EXTENSION);
$curTime = time();
$NewPriorPic = "prior";
$NewPriorPic = $NewPriorPic.$SGeiNo;
$NewPriorPic = $NewPriorPic.$SSurgDt;
$NewPriorPic = $NewPriorPic.$curTime;
$NewPriorPic = $NewPriorPic.".".$ext;
$location = "upload_pictures/";
move_uploaded_file($_FILES['FPScreenShot']['tmp_name'], $location.$NewPriorPic);
}
答
我想你搞砸这条线一点点起来:
(你忘了开始报价)
move_uploaded_file($_FILES['FPScreenShot']['tmp_name'] , upload_pictures/".$_FILES['$NewPriorPic']['name']);
所以改成这样:
move_uploaded_file($_FILES['FPScreenShot']['tmp_name'] , "upload_pictures/" . $_FILES[$NewPriorPic]['name']);
答
有是你的代码中的一些语法错误,你的逻辑似乎对你试图实现的东西没什么困惑,但是你可以尝试一下s:
<?php
if($_FILES['FPScreenShot']['name']) {
$SPPic = ($_FILES['FPScreenShot']['name']);
$curTime = time();
$NewPriorPic = "prior";
//Add aditional details to the file name
$NewPriorPic .= $SGeiNo;
$NewPriorPic .= $SSurgDt;
$NewPriorPic .= $curTime;
//Try to move uploaded file
if (move_uploaded_file($_FILES['FPScreenShot']['tmp_name'] , "upload_pictures/".$_FILES[$NewPriorPic]['name'])) {
echo "File successfully uploaded.";
}
else {
echo "Error while uploading the file.";
}
}
else {
$SPPic = "NIL";
}
您的代码包含语法错误。 – Raptor 2014-12-08 08:19:03
可能重复的[参考 - 这个错误在PHP中意味着什么?](http://*.com/questions/12769982/reference-what-does-this-error-mean-in-php) – 2014-12-08 08:19:35
检查您的使用在'move_uploaded_file'(' – RichardBernards 2014-12-08 08:19:35