>我正在开发一个网站,每个用户都可以上传多张图片。我可以上传图像并存储在一个文件夹中,但是当两个不同的用户具有相同的图像名称时,我遇到了问题,因为我将图像存储在一个文件夹中。在存储信息的数据库中,序列号是唯一键。我想通过添加序列号重命名图像。使用图像名称使其唯一...请帮助我..要做到..
my form is as:-
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" /> </br><br/>
<input id="submit" type="submit" value="submit" />
upload_file.php是:-
require_once('dbconnect.inc.php');
$db_name="uploaddata";
$tbl_name="data";
$db_selected=mysql_select_db("$db_name")or die("cannot select DB");
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] > 0))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
$Image_name=$_FILES["file"]["name"];
$Image_type=$_FILES["file"]["type"];
//upload is the folder of storing images
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
$_SESSION['response'] = " already exists please give some different name ";
header("Location: testimage.php");
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
$login_data="INSERT INTO $tbl_name(Image_name,Image_type) VALUES('$Image_name','$Image_type')";
$login_result=mysql_query($login_data) or die(mysql_error());
header("Location: abc.php");
}
}
}
您可以使用
move_uploaded_file函数更改目标文件的名称,例如
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $serial_number . '_' . $_FILES["file"]["name"] . );
您也可以使用此功能
bool rename ( string $oldname , string $newname [, resource $context ] );