如何在通过php存储在文件夹中时更改图像名称
Posted
技术标签:
【中文标题】如何在通过php存储在文件夹中时更改图像名称【英文标题】:how to change the image name while storing in a folder via php 【发布时间】:2012-06-11 09:13:30 【问题描述】:我正在一个网站上工作,其中每个用户都可以上传多个图像..我能够上传图像并存储在一个文件夹中,但是当两个不同的用户具有相同的图像名称时我遇到了问题,就像我一样将图像存储在单个文件夹中。在我存储信息的数据库中,序列号是唯一键..我想通过添加序列号来重命名图像。使用图像名称使其独一无二...请帮助我..这样做..
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");
【问题讨论】:
老兄停止使用 mysql_* 函数编写新代码,而改用 PDO 【参考方案1】:您可以使用 move_uploaded_file 函数来更改目标文件的名称,例如
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $serial_number . '_' . $_FILES["file"]["name"] . );
你也可以用这个function
bool rename ( string $oldname , string $newname [, resource $context ] );
【讨论】:
以上是关于如何在通过php存储在文件夹中时更改图像名称的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 DataFrame 的架构(修复一些嵌套字段的名称)?
如何显示存储在数据库 PHP 中的图像路径? (Laravel 兰花)