我想做的是重命名图像的文件名,然后将文件移动到上传文件夹并将链接保存到数据库。
我的问题是在我当前的代码中,文件移动到上传文件夹后,文件的原始名称仍然保留,甚至在将链接保存到数据库时,原始图像名称仍然保留。
如何在图像文件移动到上传文件夹之前以及链接保存到数据库之前重命名图像文件的原始名称?
示例:原始名称Oppa/upload/default.png
我想重命名它Oppa/upload/1.png
PHP 代码:
<?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";
}
?>
最佳答案
尝试如下:
$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;
关于php - 如何在上传过程中重命名图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24839768/