Здравствуйте. Прошу вашей помощи по такому вопросу: Есть скрипт загрузки изображения в директорию: PHP: //regular photo if (isset($_FILES["picture"]) && $_FILES["picture"]["name"] && preg_match('/\.(jpg|jpeg|gif|jpe|pcx|bmp)$/i', $_FILES["picture"]["name"])) //upload { $_FILES["picture"]["name"] = str_replace(" ","_",$_FILES["picture"]["name"]); $r = move_uploaded_file($_FILES["picture"]["tmp_name"], "./products_pictures/".$_FILES["picture"]["name"]); if (!$r) //failed 2 upload { echo "<center><font color=red>".ERROR_FAILED_TO_UPLOAD_FILE."</font>\n<br><br>\n"; echo "<a href=\"javascript:window.close();\">".CLOSE_BUTTON."</a></center></body>\n</html>"; exit; } SetRightsToUploadedFile( "./products_pictures/".$_FILES["picture"]["name"] ); $s .= ", picture='".$_FILES["picture"]["name"]."'"; $s1.= ", picture='".$_FILES["picture"]["name"]."'"; } Подскажите, пожалуйста, как при загрузке дать изображению случайное имя. Допустим, чтобы загруженный image.jpg переименовывался в h2h28ds7s2kdf.jpg
Для параноиков: PHP: md5(rand(1,1000).time().$_FILES["picture"]["name"]); чем не вариант? уникальней некуда для нормальных юзеров можно без генератора случайных чисел, либо без имени файла, тоже врятли что-то совпадет
для не программистов. Вычленяем расширение файла (как сделать — уйма вариантов в нете), смотрим пример в uniqid, так же генерируем имя.расширение, в строке $_FILES["picture"]["name"] заменяем на сгенеренное имя
Извините за тупой вопрос: в какою строку это нужно добавить? Не в паранойе дело. Просто при добавлении изображения, если файл с таким именем существует, его заменит новый файл. А это не есть хорошо.
это выдаст уникальное имя, где сохраняем - там и вставляем. лучше приравнять переменной сгенерированное уникальное имя, а потом в функциях сохранения файла, если надо сохранять в базу - везде подставлять эту переменную с уникальным именем.