У меня есть форма, в которой администратор загрузит три изображения разных размеров в три разных назначенных каталога. теперь, чтобы убедиться, что я не попадаю в проблему дублированных имен файлов, я реализовал что-то вроде php, чтобы сравнить имя загруженного файла, и он будет проверять, существует ли это имя файла в указанном каталоге, если да, то он будет эхо-ошибка и прекратите выполнение скрипта.Переименование файла PHP
Теперь один из моих друзей предложил мне, что очень плохо просить администратора вручную переименовать файл изображения и попросить их позаботиться о проблеме дублирования файлов. решение, которое он предложил, состояло в том, чтобы автоматически переименовать файл, а затем сохранить его в базе данных и затем перенаправить в каталог.
Я смущен о том, что сочетании я должен дать переименованный файл, а также убедитесь, что он будет оставаться уникальным именем файла, чтобы быть более точным я хотел бы, чтобы вы поняли мою структуру каталогов
, как я сказал, что будет три картины файлов админы будут загружать именно
а) Название фотография б) Краткое изображение с) Изображением детали
и все три файла изображение будет перемещаться в другой соответствующий каталог, например, заголовок изображения переходит в каталог заголовка и так далее.
Я использую для сценария ниже в настоящее время только для перемещения и сохранения имени файла с помощью пути с использованием varchar в базе данных.
$ns_pic_title_loc= $_FILES["ns_pic_title"]["tmp_name"];
$ns_pic_title_name = $_FILES["ns_pic_title"]["name"];
move_uploaded_file($ns_pic_title_loc, $ns_title_target.$ns_pic_title_name) or die(mysql_error());
Это всего лишь образец кода, в который я включил функцию проверки, которую я использую. я думал, что хочу переименовать все файлы, такие как
a) В каталоге заголовков файл должен храниться как. title_1.jpg title_2.jpg title_3.jpg title_4.jpg
и так далее
и тот же способ отдыха картин. Как мне это сделать? какую функцию я использую для достижения своей цели. и если это не лучший способ переименовать файл, я был бы признателен за любое предложение, которое следует переименовать.
заранее спасибо
Это лучшая альтернатива предложению blob, в то же время делая использование id/primary key из базы данных. Я использовал это несколько раз сам. – Treffynnon
Хотя это хорошее решение, я бы рассмотрел возможность использования функции tempnam. просто вид функции, которую я искал. –
Это хороший способ, чтобы идентификаторы базы данных и имена файлов изображений синхронизировались. В моем ответе есть условие гонки, такое как предложение timestamp, но опять же это не очень важно на сайте с несколькими админами, загружающими фотографии. – Jeff