|
| |
|
|
| |
для: kis-kis
(08.01.2007 в 13:01)
| | | Имеется ввиду в пикселах? Такой размер можно получить ф-ей getimagesize (травить на $_FILES['userfile']['tmp_name'])
Возвращает массив
Array[0] = Width
Array[1] = Height
Array[2] = Image Type Flag
Array[3] = width="xxx" height="xxx"
Array[4] = channels (PHP >= 4.3.0)
Array[5] = bits (PHP >= 4.3.0)
Array[6] = mime (PHP >= 4.3.0)
|
// Такой вариант безопасен?
Вроде бы да, только строчку
if (!isset($HTTP_POST_FILES['userfile'])) exit;
лучше бы поднять наверх и использовать массив $_FILES | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(08.01.2007 в 10:19)
| | | Получилось вот что:
<?php
$path = "$mm_abpath/users/avatars/";
$max_size = $mm_avatar_size;
if(isset($add)) {
$str = $HTTP_POST_FILES['userfile']['name'];
$pos = strrpos($str, '.');
$id = $s_userid;
$HTTP_POST_FILES['userfile']['name'] = 'av-'.$id.substr($str, $pos);
if (!isset($HTTP_POST_FILES['userfile'])) exit;
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
if ($HTTP_POST_FILES['userfile']['size']>$max_size)
{
echo "<span class=textbr>Размер файла превышает допустимый</span>";
}
else
if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg")) {
$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], $path .
$HTTP_POST_FILES['userfile']['name']);
if (!$res) { echo "<span class=textbr>При загрузке произошла ошибка</span>";}
else { echo "<span class=textb>Файл успешно загружен</span>";
$new_avatar=$HTTP_POST_FILES['userfile']['name'];
$query = "UPDATE users SET avatar='$new_avatar' WHERE id = '$s_userid'";
$req = mysql_query($query) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
}
} else { echo "<span class=textbr>Недопустимый тип файла, используйте jpg или gif</span>";}
}
}
?>
|
Такой вариант безопасен? А как добавить сюда еще проверку размера изображения? | |
| |
|
|
| |
|
|
| |
для: kis-kis
(08.01.2007 в 09:58)
| | | Вопрос в том, как получить из "avatar.jpg" "av-5.jpg" ?
<?
$str = 'avatar.jpg';
$pos = strrpos($str, '.');
$id = 5;
$new_str = 'av-'.$id.substr($str, $pos);
echo $new_str;
?>
|
Новое имя нужно подставлять при копировании файла из временной дирректории | |
| |
|
|
| |
|
|
| | Как при загрузке изображений на сервер присвоить им определенные имена, допустим чтобы все файлы начинались так - "av-", а продолжением была цифра, ID пользователя.
Например пользователь с ID-5, загрузил картинку avatar.jpg или avatar.gif и ее имя должно стать соответственно av-5.jpg или av-5.gif?
Спасибо. | |
| |
|
|
|