如何在上传过程中重命名图像文件
I want to do is rename the file name of the image before the file will be move to upload folder and save the link to database.
My problem is in my current code the original name of the file remains after it move to upload folder and even in saving the link to database the original image name is remain.
How do i make the original name of the image file rename before it will move to the upload folder and before the link is save to the database?
example: original name Oppa/upload/default.png
i want to rename it Oppa/upload/1.png
php code:
<?php
include_once('../dbc/database.php');
$db = new Connection();
$db = $db->dbConnect();
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$imageLink = isset($_POST['imageLink']) ? $_POST['imageLink'] : "";
$email = isset($_POST['email']) ? $_POST['email'] : "";
$image = addslashes(file_get_contents($_FILES['imageInput']['tmp_name']));
$image_name = addslashes($_FILES['imageInput']['name']);
$image_size = getimagesize($_FILES['imageInput']['tmp_name']);
move_uploaded_file($_FILES["imageInput"]["tmp_name"], "../upload/" . $_FILES["imageInput"]["name"]);
$location = "Oppa/upload/" . $_FILES["imageInput"]["name"];
if(!empty($_POST['imageLink'])) {
$q = "UPDATE tbl_user SET user_image = '$location' WHERE user_email= :email ";
$query = $db->prepare($q);
$query->bindParam(':email', $email);
$results = $query->execute();
echo "1";
}
?>
我想要做的是在文件移动到上传文件夹之前重命名图像的文件名并保存 链接到数据库。 p>
我的问题是在我当前的代码中,文件的原始名称在移动到上传文件夹后仍然存在,甚至在保存链接到数据库时,原始图像名称仍然存在。 p>
在将图像文件的原始名称移动到上传文件夹之前以及将链接保存到数据库之前,如何重命名图像文件的原始名称? p>
示例:原始名称 我想重命名 php代码: p>
Oppa / upload / default.png code> p>
Oppa / upload / 1.png code> p>
&lt;?php
include_once('../ dbc / database.php');
\ n $ db = new Connection();
$ db = $ db-&gt; dbConnect();
$ db-&gt; setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION);
$ imageLink = isset($ _ POST ['imageLink'])? $ _POST ['imageLink']:“”;
$ email = isset($ _ POST ['email'])? $ _POST ['email']:“”;
$ image = addslashes(file_get_contents($ _ FILES ['imageInput'] ['tmp_name']));
$ image_name = addslashes($ _ FILES ['imageInput' ] ['name']);
$ image_size = getimagesize($ _ FILES ['imageInput'] ['tmp_name']);
move_uploaded_file($ _ FILES [“imageInput”] [“tmp_name”],“.. / upload /“。$ _FILES [”imageInput“] [”name“]);
$ location =”Oppa / upload /“。 $ _FILES [“imageInput”] [“name”];
if(!empty($ _ POST ['imageLink'])){
$ q =“UPDATE tbl_user SET user_image ='$ location' WHERE user_email =:email“;
$ query = $ db-&gt; prepare($ q);
$ query-&gt; bindParam(':email',$ email);
$ results = $ query-&gt ; execute();
echo“1”;
}
?&gt;
code> pre>
div>
Try as below:
$type = $_FILES["imageInput"]["type"];
$ext = end(explode('/', $type));
$filename = uniqid() . '.' . $ext; // you can set name here whatever you want
move_uploaded_file($_FILES["imageInput"]["tmp_name"], "../upload/" . $filename);
$location = "Oppa/upload/" . $filename;
$image_name = "my_img.jpeg";
move_uploaded_file($_FILES["imageInput"]["tmp_name"], "../upload/" . $image_name);
$location = "Oppa/upload/" . $image_name;
This will save the file withe new name defined in image_name variable