dongyou8368 2014-07-19 11:13
浏览 209
已采纳

如何在上传过程中重命名图像文件

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";
}

?>
  • 写回答

2条回答 默认 最新

  • doqau82086 2014-07-19 11:17
    关注

    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;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?