natasha
Guest
Как сменить имя файла во время upload?
Я внимательно изучила FAQ. Честное слово. Не нашла ответ на свой вопрос.
Вопрос такой:
Имеется скрипт, который отправляет картинки пользователей в мою папку на сервере:
Скрипт работает. Взято здесь: http://detail.phpclub.net/article/upload
Но!
Я хотела, чтобы мои файлы с кириллицей, пробелами конвертировались в латинские. (Лучше если бы со случайным названием).
Т.е. загружаем - "фотография в лесу.jpg", а в папке на сервере имеем "fotographiyavlesu.jpg" или (еще лучше) - gfylfyuf33yvfyv5yufy.jpg
Мне известно, что оригинальное имя файла - $_FILES['userfile']['name'], но как произвести замену?
Если не сложно дайте ссылку на решение подобной проблемы. Я буду благодарна.
Я внимательно изучила FAQ. Честное слово. Не нашла ответ на свой вопрос.
Вопрос такой:
Имеется скрипт, который отправляет картинки пользователей в мою папку на сервере:
PHP:
<?
$max_image_width = 700;
$max_image_height = 800;
$max_image_size = 150000;
$valid_types = array("gif","jpg","png","jpeg");
$uploaddir = '/home/***/public_html/uploads/images/';
$uploadfile = $uploaddir.$_FILES['userfile']['name'];
$thankspage="http://www.***.ru/uploads/confirmation.shtml";
$sizeerror="http://www.***.ru/uploads/sizeerror.shtml";
$typeerror="http://www.***.ru/uploads/typeerror.shtml";
$weighterror="http://www.***.ru/uploads/weighterror.shtml";
$error="http://www.***.ru/uploads/error.shtml";
if (isset($_FILES["userfile"])) {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$filename = $_FILES['userfile']['tmp_name'];
$ext = substr($_FILES['userfile']['name'],
1 + strrpos($_FILES['userfile']['name'], "."));
if (filesize($filename) > $max_image_size) {
echo 'Error: File size > 150K.';
} elseif (!in_array($ext, $valid_types)) {Header("Location: $typeerror");} else {
$size = GetImageSize($filename);
if (($size) && ($size[0] < $max_image_width)
&& ($size[1] < $max_image_height)) {
if (@move_uploaded_file($filename, $uploadfile)) {Header("Location: $thankspage");} else {Header("Location: $error");}
} else {Header("Location: $sizeerror");}
}
} else {Header("Location: $weighterror");}
}
?>
Но!
Я хотела, чтобы мои файлы с кириллицей, пробелами конвертировались в латинские. (Лучше если бы со случайным названием).
Т.е. загружаем - "фотография в лесу.jpg", а в папке на сервере имеем "fotographiyavlesu.jpg" или (еще лучше) - gfylfyuf33yvfyv5yufy.jpg
Мне известно, что оригинальное имя файла - $_FILES['userfile']['name'], но как произвести замену?
Если не сложно дайте ссылку на решение подобной проблемы. Я буду благодарна.