Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Определение типа файла по его контексту, а не по расширению
 
 автор: vitali   (17.12.2007 в 18:29)   письмо автору
 
 

Суть проблемы: Имеется возможность горе-куратору сайта по протоколам http или ftp поместить файл в соответствующий раздел сайта. При этом куратор может изначально "угробить" (исказить или вообще затереть) суфикс(расширение) файла или в префиксе(имени) файла набарабанить лишние точки.
Произвольный пользователь при заходе на соответствующую страницу может просмотреть в
браузере этот файл. При искаженном расширения или отсутствии оного у пользователя возникают проблемы (приходится пользователю выбирать тот или иной просмоторщик, а это нехорошо)
Можно ли по контексту файла (напимер, для файлов Microsoft Word, Excel) определить его тип, как это делает с img-файлами ф-ция getimagesize()??
Заранее благодарен за помощь.

   
 
 автор: Gemorroj   (17.12.2007 в 18:44)   письмо автору
 
   для: vitali   (17.12.2007 в 18:29)
 

http://ru.php.net/mime_content_type

   
 
 автор: vitali   (18.12.2007 в 10:18)   письмо автору
 
   для: Gemorroj   (17.12.2007 в 18:44)
 

У меня под Linux-сом стоит PHP 5.1.4 на строку
echo mime_content_type('У№рєшъ_эр_2007') . "\n";
(реальный пример из жизни, так назван файл, проблему перекодировки имени файла пока не затрагиваем)
Реакция следующаяя:
Fatal error: Call to undefined function mime_content_type() in /home/developers/kupr/public_html/proba/php_5_k_k/fun_examples/mim_content_type.php on line 2.

Может, что надо сделать с PHP????

   
 
 автор: Faraon   (18.12.2007 в 10:26)   письмо автору
 
   для: vitali   (18.12.2007 в 10:18)
 

В файле php-ini, надо раскоментировать строку

extension=php_mime_magic.dll

И эту библиотеку положить в папку которая у Вас указана для динамических библиотек
extension_dir

   
 
 автор: Unkind   (18.12.2007 в 10:34)   письмо автору
 
   для: Faraon   (18.12.2007 в 10:26)
 

В PHP под Linux библиотеки никуда не кладут :) Там нужно пересобирать PHP.

   
 
 автор: Faraon   (18.12.2007 в 10:36)   письмо автору
 
   для: Unkind   (18.12.2007 в 10:34)
 

Не обратил внимания, что под LINUX :)

   
 
 автор: vitali   (18.12.2007 в 13:33)   письмо автору
 
   для: Faraon   (18.12.2007 в 10:36)
 

Спасибо всем, кто ответил, -за участие.
Пересобрал PHP и все пошло.
В процессе "гуляния" по манам набрел на строчку
system("file -i -b $filename") - c помощью Linux решение моей проблемы.
Правда осталась еще не закрытая (для меня) тема.
Как из тела doc или xls файла вытащить заголовок(тему файла) и первый абзац файла для раздела "анотаций".

   
 
 автор: tuder   (24.12.2007 в 08:01)   письмо автору
 
   для: vitali   (18.12.2007 в 13:33)
 

А горе-куратор не сможет ввести тему файла и первый абзац в форму сам?
Как правило, административные вопросы, программным путём не решаются.

   
 
 автор: vitali   (24.12.2007 в 09:34)   письмо автору
 
   для: tuder   (24.12.2007 в 08:01)
 

В принципе да, только сейчас (у меня) "горе-кутатор" если породил файл в Worde или Excel (а как правило, во всех административных документах [приказы, распоряжения, инструкции и т.д.] есть преамбула - первый абзац), то не выходя из редактора сохраняет на моем FTP-сервере свой опус, а я решаю все остальное на автомате. По моему это логично, решать проблемы роботами.

   
 
 автор: `JUP`   (24.12.2007 в 21:48)   письмо автору
 
   для: Unkind   (18.12.2007 в 10:34)
 

>В PHP под Linux библиотеки никуда не кладут :) Там нужно пересобирать PHP.

Да Вы что? =)

   
 
 автор: vitali   (25.12.2007 в 08:59)   письмо автору
 
   для: `JUP`   (24.12.2007 в 21:48)
 

В Lunux можно организовать доступ к одному и тому же каталогу по различным протоколам (в моем случае) FTP, SSH, HTTP. Куратор выкладывает свои файлы по FTP и HTTP. (А лучшее, как правило, враг хорошему). Вот мне и приходится "возиться" с содержимым файлов. Спасибо коллегам форума с xls-файлами пока борюсь с помощью ParseEXcel (Perl). Вчера дали наводку PEAR::Package: Spreadsheet_Excel_Writer для PHP. Сегодня буду разбираться.
Нет ли у кого наводки для разборки DOC-файлов (Perl, PHP - не принципиально)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования