Переименовать изображение при загрузке на сервер через uniqid

262
18 июня 2017, 18:07

Загружаю изображение через форму таким образом

$file=$_FILES['image']['tmp_name'];
$image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name= addslashes($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"],"rentgen/userphotos/" . $_FILES["image"]["name"]);
$location="rentgen/userphotos/" . $_FILES["image"]["name"];

Подскажите пожалуйста как динамически переименовать изображение ? читал что есть функция uniqid как можно использовать эту функцию в данном коде ?

Answer 1

move_uploaded_file() функция в качестве второго аргумента принимает путь, по которому необходимо переместить файл.В самом конце пути указывается имя файла.В вашем случае его и надо изменить.

Решение с использованием функции uniqid():

Внимание: Эта функция пытается создать уникальный идентификатор, но не дает 100% гарантии уникальности.

$original_name = $_FILES["image"]["name"];
//Получить расширение файла
$extension = pathinfo($original_name, PATHINFO_EXTENSION);
//Придумать новое имя файла с расширением загружаемого файла
$new_name = uniqid().'.'.$extension;
//и загружаем уже с измененным именем
move_uploaded_file($_FILES["image"]["tmp_name"],"rentgen/userphotos/" . $new_name);

Пример move_uploaded_file.

READ ALSO
Вывести значение из массива php

Вывести значение из массива php

Здравствуйте, сильно не пинайте, знания PHP стартовые:) Не получается вывести значение из массива (необходимо вывести дату [formatted] и время [time]...

438
блокировка записи в mysql

блокировка записи в mysql

Доброго времени суток! Подскажите, как правильно реализовать блокировку записи в MySQL

269