Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> <input type="file", как получить расширение файла? 
:(
    Опции темы
MakNik
Дата 24.11.2008, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 5.4.2006

Репутация: нет
Всего: 0



Поскажите, пожалуйста, как получить расширение загружаемого файла?
PM   Вверх
NNaarreekk
Дата 24.11.2008, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Код

$HTTP_POST_FILES['input_name']['size'];

PM MAIL WWW   Вверх
MakNik
Дата 24.11.2008, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 5.4.2006

Репутация: нет
Всего: 0



 $HTTP_POST_FILES['input_name']['type'] возвращает тип файла, например "image/bmp"
а как получить расширение в виде ".bmp"?
PM   Вверх
unicross
Дата 24.11.2008, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Код

<?php
$_FILES["input_name"]["name"] = "test.php"; // якобы из формы
$name = basename($_FILES["input_name"]["name"]);
$pattern = '#\.([a-z]+)$#is';
preg_match($pattern, $name, $arr);
echo $arr[1];
?>

PM MAIL WWW   Вверх
Sanchezzz
  Дата 24.11.2008, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



студент smile 
Код

$_FILES['input_name']['type']


читай





--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Валерия
Дата 24.11.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: 3
Всего: 8



А зачем basename? Какая нам разница полный путь к файлу или не полный? 
PM MAIL   Вверх
unicross
Дата 24.11.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Цитата(Валерия @  24.11.2008,  20:33 Найти цитируемый пост)
А зачем basename? Какая нам разница полный путь к файлу или не полный? 

Для регулярного выражения никакой. Найдет в любом случае. Можете убрать...
Так как идет речь о загрузке файлов привожу просто фрагмент кода с basename() для дальнейшей обработки загруженного файла.
http://ru2.php.net/manual/ru/features.file-upload.php
Пример #2 Проверка загружаемых на сервер файлов
PM MAIL WWW   Вверх
NNaarreekk
Дата 24.11.2008, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Код

$file_type=$HTTP_POST_FILES['input_name']['size'];
$file_type_temp=explode("/",$file_type);
switch($file_type_temp[1]){
case 'gif': $afterdot='gif';break;
case 'png':$afterdot='png';break;
case 'bmp': $afterdot='bmp';break;
default:$afterdot='jpg';break;
}


Лучше ручками узнать какой у файла конец!
А то можно взять .html и сделать .rar а потом иди и разберись!
PM MAIL WWW   Вверх
unicross
Дата 24.11.2008, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 422
Регистрация: 15.6.2008

Репутация: 21
Всего: 53



Цитата(NNaarreekk @  24.11.2008,  20:56 Найти цитируемый пост)
$file_type=$HTTP_POST_FILES['input_name']['size'];

Интересно что вы получите из размера файла??? Расширение файла?
Цитата(NNaarreekk @  24.11.2008,  20:56 Найти цитируемый пост)
А то можно взять .html и сделать .rar а потом иди и разберись!

Думаете MIME-тип нельзя подделать...
PM MAIL WWW   Вверх
NNaarreekk
Дата 24.11.2008, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



 smile 
Ну все меня правельно поняли!

А на счет майма не знаю!
Но я предпочитаю так!
PM MAIL WWW   Вверх
teroni
Дата 24.11.2008, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Конечно же нельзя верить никаким данным из ХТТП заголовков.
PM MAIL   Вверх
americanets
Дата 25.11.2008, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

Репутация: 5
Всего: 12



MakNik, mime_content_type + pathinfo + getimagesize


ну и про escapeshellcmd / escapeshellarg не нужно забывать , верить переданным данным никогда нельзя


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.