Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.65.65] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте, уважаемые!...
У меня такой вопрос: как программно узнать расширение файла- мне необходимо написать скрипт, который будет закачивать картинки на сервер. Есть ли в PHP такая функция? А также интересно, есть ли альтернативные методы узнать тип файла, не только по его расширению, а каким-то другим способом? Заранее огромное спасибо! |
Сообщ.
#2
,
|
|
|
Если тебе надо проверить, на то, является-ли файл картинкой, то можно ипсользовать такой код:
<?php if (exif_imagetype("image.gif") != IMAGETYPE_GIF) { echo "The picture is not a gif"; } ?> Цитата из мана Цитата exif_imagetype (PHP 4 >= 4.3.0, PHP 5) exif_imagetype -- Determine the type of an image Description int exif_imagetype ( string filename) exif_imagetype() reads the first bytes of an image and checks its signature. When a correct signature is found a constant will be returned otherwise the return value is FALSE. The return value is the same value that getimagesize() returns in index 2 but this function is much faster. Узнать разширения файла можно просто: $file = '/mnt/win_c/autoexec.bat'; $parts = explode('.', $file); $ext = $parts[count($parts) - 1]; |
Сообщ.
#3
,
|
|
|
Это можно осуществить при помощи Form based file upload
А вообще посмотри здесь: PHP: Загрузка файла на сервер |
Сообщ.
#4
,
|
|
|
Argentum, ИМХО ты не прав. Ибо человек не спрашивал, как закачать файл, а спрашивал как определить его тип. Ничто не мешает человеку exe переименовать gif и будет послан MIME-тип файла: image/gif !!! Приведённая мною ф-ция смотрит не на расширение файла, а на его заголовок.
|
Сообщ.
#5
,
|
|
|
http://detail.phpclub.net/article/upload
Manual - Image Functions array getimagesize ( string filename [, array imageinfo]) |
Сообщ.
#6
,
|
|
|
Тип загружаемого файла следует брать из переменной $_FILES['userfile']['type'], она для этой цели и задается.
А вообще, в PHP есть функция filetype(), которая работает с любыми файлами, а не только с картинками. Вот некоторые MIME-типы, которые тебя интересуют: Цитата image/gif image/jpeg image/png С этими значениями тебе и надо сравнивать $_FILES['userfile']['type']. |
Сообщ.
#7
,
|
|
|
Всем большое спасибо!
|