Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: получить mime тип файла удаленно
Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2008
Помог: 0 раз(а)
здравствуйте всем.
стал вопрос боком, как получить mime-type файла удаленно не закачивая себе на серв? mime_content_type не возвращает ни типа файла, ни ошибки что не смогла получить.
заранее спасибо.
Вездеход
Отправлено: 27 Августа, 2008 - 14:02:39
Частый посетитель
Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
удаленно - это на компе посетителя сайта?
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
pifon1989
Отправлено: 27 Августа, 2008 - 17:13:08
Частый гость
Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008
Помог: 0 раз(а)
redow пишет:
стал вопрос боком, как получить mime-type файла удаленно не закачивая себе на серв? mime_content_type не возвращает ни типа файла, ни ошибки что не смогла получить.
MIME? Как я слышал, его обычно явой ковыряют.
Можно конечно и через php попробовать... но присоединяюсь к вопросу выше.
----- Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
redow
Отправлено: 27 Августа, 2008 - 19:40:03
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2008
Помог: 0 раз(а)
нет, удаленно - значит с другого хоста.
тоесть, есть, например, список ссылок, по которым я должен пройти php скриптом. в частности нужны только html файлы и только.
сейчас скрипт тянет все указанные файлы (а могут быть и архивы, и фильмы, и все что угодно) и жрет прилично трафика, и вот что бы избежать этого, проверять, является ли файл html документом.
возможно ли такое?
Но учтите: для работы mime_content_type() необходима установка из библиотеки PECL.
Причём finfo() намного более продвинут и функционален, так что, от себя, советую качать именно его. http://www[dot]google[dot]ru/search?hl=e[dot][dot][dot]amp;aq=f&oq=
После установки курите маны ru.php.net.
Если лениво качать из билиотеки, ищите отдельный скрипт. Найдёте, сынклюдите в свой скрипт и только тогда заработает.
----- Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
redow
Отправлено: 28 Августа, 2008 - 12:00:12
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Авг. 2008
Помог: 0 раз(а)
в общем, придумал как сделать, но немного коряво получилось, тк другого способа не нашел.
я такого не говорил и так не считаю. если бы я был умный, я бы не задавал тут вопрос, верно? но я ясно выразился что мне нужен MIME УДАЛЕННО, а ваши ответы прозвучали несколько не профессионально, вам не кажется?
Цитата:
// открываем папку с файлами, где бы та ни была
$dh = opendir("/var/www/nobledream/data/http/forum") or die("Не могу открыть папку");
Знаете Эйнштейна? Все относительно
Тот вариант что Вы предложили конечно неплох, но он не идеален. Сам сервер Apache в определенных случаях выдает MIME-тип в соответствии с расширениями. В httpd.conf есть раздел с определением MIME-типов.
Уж тогда надо более жестким методом - открывает файл в бинарном редиме и читаем, если "яШа" то gif, если "MZР" то exeшник и т.д.
Svyatoslavik
Отправлено: 27 Сентября, 2009 - 23:50:37
Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
я тут тоже мучался с подобным вопросом (не смог включить mime_content_type - считаю что это невозможно, покрайней мере я не смог)
решил написать свой php-шный вариант функции распознавания типа файлов
какие байты какому типу соответствуют можно узнать из файла magic.mime
или просто открыть нужный файл в hex - редакторе и посмотреть первые байты
JustUserR
Отправлено: 28 Сентября, 2009 - 11:38:06
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
redow Поищите на форуме еще давно я писал готовую функцию для получения удаленно все информации о файле не скаичвая его (Это PHP-функция и она написана с помощью sockets)
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.