2014-07-19 2 views
0

파일을 업로드 폴더로 이동하고 데이터베이스에 링크를 저장하기 전에 이미지의 파일 이름을 바꾸고 싶습니다.업로드 프로세스에서 이미지 파일의 이름을 바꾸는 방법

내 문제는 현재 폴더에 업로드 폴더로 이동 한 후 원래 이미지 이름이 남아있는 데이터베이스에 대한 링크를 저장 한 후에도 파일의 원래 이름이 남아 있다는 것입니다.

이미지 파일의 원래 이름을 업로드 폴더로 이동하고 링크가 데이터베이스에 저장되기 전에 이름을 바꾸려면 어떻게해야합니까?

예 : 원래 이름 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"; 
} 

?> 

답변

2

다음과 같이 시도하십시오 :

$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; 
0
$image_name = "my_img.jpeg"; 
move_uploaded_file($_FILES["imageInput"]["tmp_name"], "../upload/" . $image_name); 
$location = "Oppa/upload/" . $image_name; 

이 여기서 image_name 변수에 정의 된 파일 가지 새로운 이름을 저장됩니다

관련 문제