PHP图像上传程序重命名图像?
我试图在将图像上载到服务器时重命名它。通常有没有一种简单的方法?下面是我正在使用的php代码。我想把它重命名为一个变量,作为html表单中的隐藏字段传递PHP图像上传程序重命名图像?,php,image,rename,uploader,Php,Image,Rename,Uploader,我试图在将图像上载到服务器时重命名它。通常有没有一种简单的方法?下面是我正在使用的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"][
//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";
}
//来自mysql数据库表单上隐藏字段的变量
$imageName=$\u POST['image\u rename'];
如果(($U文件[“文件”][“类型”]=“图像/gif”)| |($U文件[“文件”][“类型”]=“图像/jpeg”)| |($U文件[“文件”][“类型”]=“图像/jpg”)|($U文件[“文件”[“类型”]=“图像/pjpeg”)&($U文件[“文件”[“文件”][“大小”]<8000000))
{
如果($\u文件[“文件”][“错误”]>0)
{
回显“返回代码:”.$\u文件[“文件”][“错误”]。“
”;
}
其他的
{
echo“上传:.”文件[“文件”][“名称”]。“
”;
回显“类型:”.$\u文件[“文件”][“类型”]。“
”;
回显“大小:”($_文件[“文件”][“大小”]/1024)。“Kb
”;
回显“临时文件:”.$\u文件[“文件”][“tmp\u名称”]。“
”;
如果(文件存在(“../uploads/”$\u文件[“文件”][“名称”]))
{
echo$\u文件[“文件”][“名称”]。“已存在。”;
}
其他的
{
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
echo“存储在:”.“./”上载/“$\u文件[“文件”][“名称”];
}
}
}
其他的
{
回显“无效文件”;
}
更改
move_uploaded_file($_FILES["file"]["tmp_name"], "../uploads/" . $_FILES["file"]["name"]);
到
改变
到
尝试更改
移动上传的文件()
功能;在函数中添加所需的名称。只需确保抓取适当的分机,例如:
$parts=explode('.',$_FILES['file']['name']);
$newName=$imageName.'.'.$parts[(count($parts)-1)];
move_uploaded_file($_FILES['file']['tmp_name'],'../uploads/'.$newName);
尝试更改
移动上传的文件()
功能;在函数中添加所需的名称。只需确保抓取适当的分机,例如:
$parts=explode('.',$_FILES['file']['name']);
$newName=$imageName.'.'.$parts[(count($parts)-1)];
move_uploaded_file($_FILES['file']['tmp_name'],'../uploads/'.$newName);
不要使用来自客户端的未经检查的输入,这可能有潜在的危险。不要使用来自客户端的未经检查的输入,这可能有潜在的危险。您可以使用end($parts);您可以使用end($parts)代替count-1;而不是count-1Nope,因为他说他将通过隐藏的输入提供文件名<代码>$imageName=$\u POST['image\u rename']代码>;)没有,因为他说他会通过隐藏的输入提供文件名<代码>$imageName=$\u POST['image\u rename']代码>;)