| |
|
|
| | Как мне ограничить type загружаемого через форму файла?
Если мысль проверять type на соответствие шаблону image/*, но является ли это оптимальным решением? Как еще можно ограничить загрузку? | |
| |
|
|
| |
|
|
| |
для: Indemion
(09.11.2006 в 14:09)
| | | Например, можно ли так?
<? if (substr_count($_FILES['pic'.$i]['type'],"image/")) echo "тип верный"; ?>
|
| |
| |
|
|
| |
|
|
| |
для: Indemion
(09.11.2006 в 14:33)
| | | Да, наверное, можно и так ...
А можно еще проверить функцией getimagesize размер картинки - если он равен нулю, то это не картинка. | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(09.11.2006 в 15:47)
| | | А теперь мне нужно показать файл, но имя формируются динамически. Можно ли по сформированному имени узнать расширение файла? | |
| |
|
|
| |
|
|
| |
для: Indemion
(09.11.2006 в 15:53)
| | | попробуйте
echo '<pre>'; print_r($_FILES);
|
| |
| |
|
|
| |
|
|
| |
для: Trianon
(09.11.2006 в 15:56)
| | | Не, я не так объяснил.
Значит так: закачивается файл в папку news_pic. При этом ему присваивается номер новости. Т.е. если он был sss.jpg, то становится 4_1.jpg или если он был you.gif, то переименовывается в 555_2.gif. Первое цифровое значение - это номер новости, второе - номер (через нижнее подчеркивание) картинки (всего картинок может быть не более 3-х).
Когда посетитель заходит на сайт выполняется функция вывода новостей. Из БД берутся, к примеру, 5 последних номеров новостей. К номеру новости плюсуется «_1», «_2» и «_3». Так же вывода мне нужно узнать и расширение файла. Как это сделать я не знаю…
Вот пример кода вывода новости.
<?
for($i=1; $i<4; $i++)
{
if (file_exists("news_pic/".$row['count']."_".$i."/*тут нужно определить расширение файла*/"))
{
#Вывод файла
}
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: Indemion
(09.11.2006 в 16:13)
| | | сохраняйте тип файла в БД наравне с остальными параметрами имени. | |
| |
|
|
| |
|
|
| |
для: Trianon
(09.11.2006 в 16:58)
| | | Пока думаю. Варианты такие:
а) создавать каталог с номером новости, и заносить в него картинки, после чего уже спокойно задирать их оттуда.
б) сбрасывать всё файлы в каталог, а после считывать их находить соответствия запросу.
в) сохранить файл без расширения, а после открывать его и узнав свойства подставлять расширение.
Буду пробовать, и думать дальше. | |
| |
|
|
| |
|
|
| |
для: Indemion
(09.11.2006 в 17:18)
| | | Вот, что вышло:
<?
for($i=1; $i<4; $i++)
{
$dir = opendir("news_pic/");
while ($file = readdir($dir))
{
if (( $file != ".") and ($file != ".."))
{
$name = explode(".", $file);
if ($name[0] == $row['count']."_".$i)
{
echo "файл существует и его полное имя: ".$file;
}
}
}
closedir ($dir);
}
?>
|
| |
| |
|
|