Я разрешаю пользователям загружать файлы любого типа на мою страницу, но может быть столкновение имен файлов. Итак, я хочу переименовать файл автоматически, так что в любое время, когда любой файл будет загружен, в базе данных и в папке после загрузки, имя файла будет изменено также, когда другой пользователь загрузит тот же файл, переименованный файл получит скачал. Я пробовал:Laravel: Чтобы автоматически переименовать загруженный файл
if (Input::hasFile('file')){
echo "Uploaded</br>";
$file = Input::file('file');
$file ->move('uploads');
$fileName = Input::get('rename_to');
}
Но, название получает изменено на что-то вроде:
php5DEB.php
phpCFEC.php
Что я могу сделать, чтобы сохранить файл того же типа и формата и просто изменить его имя?
Я также хочу знать, как я могу показать недавно загруженный файл на странице и заставить других пользователей скачать его?
Хотя разрешение пользователям переименовать файл является хорошим вариантом, однако рекомендуется добавить уникальный идентификатор имени файла. Допустим, ваше имя файла «image.png» добавляет текущую метку времени, и она станет «image_timestamp.png». Если пользователь снова загрузит файл с помощью «image.png», поскольку временная метка будет отличаться, и, следовательно, если вы будете следовать вышеописанному методу, вы не столкнетесь между именами файлов. –
Используйте хранилище laravel вместо того, чтобы обрабатывать загрузку файлов, как я упоминал в ответе – Gayan
Я изменил свой ответ, как указано ниже, после ввода @ cpburnz. Это полезно. – Gayan