我正在尝试将图片上传到我的服务器时重命名。这通常是一种简单的方法吗?下面是我正在使用的php代码。我想将它重命名为一个变量,我将其作为html表单中的隐藏字段传递。
//variable from hidden field on form which is from mysql database
$imageName = $_POST['image_rename'];
if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 8000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("../uploads/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"], "../uploads/" . $_FILES["file"]["name"]);
echo "Stored in: " . "../uploads/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
答案 0 :(得分:1)
尝试更改move_uploaded_file()
功能;在函数中添加所需的名称。只需确保获取正确的扩展名,例如:
$parts=explode('.',$_FILES['file']['name']);
$newName=$imageName.'.'.$parts[(count($parts)-1)];
move_uploaded_file($_FILES['file']['tmp_name'],'../uploads/'.$newName);
答案 1 :(得分:0)
更改
move_uploaded_file($_FILES["file"]["tmp_name"], "../uploads/" . $_FILES["file"]["name"]);
到
move_uploaded_file($_FILES["file"]["tmp_name"], "../uploads/" . $imageName);