[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: форма загрузки изображения
WisesT
Добрый день!
Пишу форму добавления изображения продукта на сайт (в дальнейшем адрес изображения буду закидывать в БД).

С формой все просто
\
<p><strong>Выбирите файл для загрузки:</strong><br />
<form
enctype="multipart/form-data" method="post">
<input
type="file" name="userfile" />
<br />
<input
type="submit" value="Загрузить" name="button">
</form>


Пока обрабатываю вот так
<?php
//Выполняем код только при нажатии на кнопку
if($_POST['button']== true){
//Для начала проверим не пытаются ли нам загрузить файл с расширением .php и т.д
$path = array(".php",".php4",".php3",".phtml",".pl");
foreach ($path as $item){
//Проверяем регулярным выражением регистр
if(preg_match("/$item\$/i", $_FILES['userfile']['name'])) {
echo "Разрешено загружать, только картинки<br />";
echo "<a href='index.php'><<< Назад</a>";
exit();
}
}


//Определяем директорию, куда будем загружать изображения
$dir = 'img_products/';
$file = $dir.basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $file)) {
echo "Файл успешно загружен.";
} else {
echo "Произошла ошибка";
exit;
}
}

?>


Чего пытаюсь достичь.
[*]Проверка, не грузят ли нам "вредные" файлы. С этим вроде справился.
[*]Разрешать загружать только jpeg, jpg, gif файлы. На данный момент грузятся все файлы кроме "вредных".
[*]Переименовывать файлы на уникальные имена дабы избежать повторов.

Знаю вот такой вариант
$uploaddir = 'imgarticles';
// это папка, в которую будет загружаться картинка
$apend=date('YmdHis').rand(100,1000).'.jpg';
// это имя, которое будет присвоенно изображению
$uploadfile = "$uploaddir$apend";
//в переменную $uploadfile будет входить папка и имя изображения

но беда в том, что таким образом я все файлы (gif, jpeg) переименую в jpg и не смогу их отображать.

[*]Ну и может я что-то не учел? Подскажите пожалуйста.

Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.