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
Форумы портала PHP.SU :: Версия для печати :: помогите с mime type файла
Форумы портала PHP.SU » » Работа с файловой системой и файлами » помогите с mime type файла

Страниц (1): [1]
 

1. jonston - 25 Мая, 2011 - 10:05:54 - перейти к сообщению
Скажите почему при распечатке массива $_FILES[], mime тип файла
"php" -> "application/octet-stream" , в то время как в списке mime'ов (фреймворк) во такая история:
PHP:
скопировать код в буфер обмена
  1.  
  2.                                 'php'   =>      'application/x-httpd-php',
  3.                                 'php4'  =>      'application/x-httpd-php',
  4.                                 'php3'  =>      'application/x-httpd-php',
  5.                                 'phtml' =>      'application/x-httpd-php',
  6.                                 'phps'  =>      'application/x-httpd-php-source',
  7.  

Заранее благодарен!)
2. Мелкий - 25 Мая, 2011 - 10:17:39 - перейти к сообщению
В $_FILES mime-тип попадает тот, который прислал клиент.
3. jonston - 25 Мая, 2011 - 10:21:39 - перейти к сообщению
Мелкий пишет:
В $_FILES mime-тип попадает тот, который прислал клиент.

как узнать истинный mime файла?
4. EuGen - 25 Мая, 2011 - 10:24:13 - перейти к сообщению
5. jonston - 25 Мая, 2011 - 10:41:04 - перейти к сообщению
EuGen пишет:
http://php.net/manual/en/function.mime-content-type.php

я так понимаю эта функция действует на уже загруженные файлы?
А мне нужно проверять mime при загрузке на сервак
6. OrmaJever - 25 Мая, 2011 - 10:49:30 - перейти к сообщению
jonston пишет:
А мне нужно проверять mime при загрузке на сервак

ну вы это и зделаете
7. EuGen - 25 Мая, 2011 - 10:50:42 - перейти к сообщению
0. Принять файл
1. Проверить при помощи функции
2. Если все плохо - то не перемещать временный файл в постоянное место и, к примеру, удалить
8. jonston - 25 Мая, 2011 - 10:58:33 - перейти к сообщению
За меня уже проверяет библиотека все эти дела.Но вот не задача не хочет грузить "php"
вот список mime типов:
PHP:
скопировать код в буфер обмена
  1.  
  2. $mimes = array( 'hqx'   =>      'application/mac-binhex40',
  3.                                 'cpt'   =>      'application/mac-compactpro',
  4.                                 'csv'   =>      array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
  5.                                 'bin'   =>      'application/macbinary',
  6.                                 'dms'   =>      'application/octet-stream',
  7.                                 'lha'   =>      'application/octet-stream',
  8.                                 'lzh'   =>      'application/octet-stream',
  9.                                 'exe'   =>      array('application/octet-stream', 'application/x-msdownload'),
  10.                                 'class' =>      'application/octet-stream',
  11.                                 'psd'   =>      'application/x-photoshop',
  12.                                 'so'    =>      'application/octet-stream',
  13.                                 'sea'   =>      'application/octet-stream',
  14.                                 'dll'   =>      'application/octet-stream',
  15.                                 'oda'   =>      'application/oda',
  16.                                 'pdf'   =>      array('application/pdf', 'application/x-download'),
  17.                                 'ai'    =>      'application/postscript',
  18.                                 'eps'   =>      'application/postscript',
  19.                                 'ps'    =>      'application/postscript',
  20.                                 'smi'   =>      'application/smil',
  21.                                 'smil'  =>      'application/smil',
  22.                                 'mif'   =>      'application/vnd.mif',
  23.                                 'xls'   =>      array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
  24.                                 'ppt'   =>      array('application/powerpoint', 'application/vnd.ms-powerpoint'),
  25.                                 'wbxml' =>      'application/wbxml',
  26.                                 'wmlc'  =>      'application/wmlc',
  27.                                 'dcr'   =>      'application/x-director',
  28.                                 'dir'   =>      'application/x-director',
  29.                                 'dxr'   =>      'application/x-director',
  30.                                 'dvi'   =>      'application/x-dvi',
  31.                                 'gtar'  =>      'application/x-gtar',
  32.                                 'gz'    =>      'application/x-gzip',
  33.                                 'php'   =>      'application/x-httpd-php',
  34.                                 'php4'  =>      'application/x-httpd-php',
  35.                                 'php3'  =>      'application/x-httpd-php',
  36.                                 'phtml' =>      'application/x-httpd-php',
  37.                                 'phps'  =>      'application/x-httpd-php-source',
  38.                                 'js'    =>      'application/x-javascript',
  39.                                 'swf'   =>      'application/x-shockwave-flash',
  40.                                 'sit'   =>      'application/x-stuffit',
  41.                                 'tar'   =>      'application/x-tar',
  42.                                 'tgz'   =>      array('application/x-tar', 'application/x-gzip-compressed'),
  43.                                 'xhtml' =>      'application/xhtml+xml',
  44.                                 'xht'   =>      'application/xhtml+xml',
  45.                                 'zip'   =>  array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
  46.                                 'mid'   =>      'audio/midi',
  47.                                 'midi'  =>      'audio/midi',
  48.                                 'mpga'  =>      'audio/mpeg',
  49.                                 'mp2'   =>      'audio/mpeg',
  50.                                 'mp3'   =>      array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
  51.                                 'aif'   =>      'audio/x-aiff',
  52.                                 'aiff'  =>      'audio/x-aiff',
  53.                                 'aifc'  =>      'audio/x-aiff',
  54.                                 'ram'   =>      'audio/x-pn-realaudio',
  55.                                 'rm'    =>      'audio/x-pn-realaudio',
  56.                                 'rpm'   =>      'audio/x-pn-realaudio-plugin',
  57.                                 'ra'    =>      'audio/x-realaudio',
  58.                                 'rv'    =>      'video/vnd.rn-realvideo',
  59.                                 'wav'   =>      'audio/x-wav',
  60.                                 'bmp'   =>      'image/bmp',
  61.                                 'gif'   =>      'image/gif',
  62.                                 'jpeg'  =>      array('image/jpeg', 'image/pjpeg'),
  63.                                 'jpg'   =>      array('image/jpeg', 'image/pjpeg'),
  64.                                 'jpe'   =>      array('image/jpeg', 'image/pjpeg'),
  65.                                 'png'   =>      array('image/png',  'image/x-png'),
  66.                                 'tiff'  =>      'image/tiff',
  67.                                 'tif'   =>      'image/tiff',
  68.                                 'css'   =>      'text/css',
  69.                                 'html'  =>      'text/html',
  70.                                 'htm'   =>      'text/html',
  71.                                 'shtml' =>      'text/html',
  72.                                 'txt'   =>      'text/plain',
  73.                                 'text'  =>      'text/plain',
  74.                                 'log'   =>      array('text/plain', 'text/x-log'),
  75.                                 'rtx'   =>      'text/richtext',
  76.                                 'rtf'   =>      'text/rtf',
  77.                                 'xml'   =>      'text/xml',
  78.                                 'xsl'   =>      'text/xml',
  79.                                 'mpeg'  =>      'video/mpeg',
  80.                                 'mpg'   =>      'video/mpeg',
  81.                                 'mpe'   =>      'video/mpeg',
  82.                                 'qt'    =>      'video/quicktime',
  83.                                 'mov'   =>      'video/quicktime',
  84.                                 'avi'   =>      'video/x-msvideo',
  85.                                 'movie' =>      'video/x-sgi-movie',
  86.                                 'doc'   =>      'application/msword',
  87.                                 'docx'  =>      'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
  88.                                 'xlsx'  =>      'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
  89.                                 'word'  =>      array('application/msword', 'application/octet-stream'),
  90.                                 'xl'    =>      'application/excel',
  91.                                 'eml'   =>      'message/rfc822',
  92.                                 'json'  => array('application/json', 'text/json'),
  93.                 'zip'   => 'application/zip'
  94.                         );
  95.  

(Добавление)
Мне из tmp директории проверять или как?
9. OrmaJever - 25 Мая, 2011 - 11:23:47 - перейти к сообщению
jonston пишет:
За меня уже проверяет библиотека все эти дела.Но вот не задача не хочет грузить "php"

Наверно правельно делает. Если можно будет загружать php файлы то любой сможет получить доступ к серверу
jonston пишет:
Мне из tmp директории проверять или как?

Ну да. Примерно так
10. jonston - 25 Мая, 2011 - 11:29:07 - перейти к сообщению
Пишет что такой функции нет
Fatal error: Call to undefined function mime_content_type() in Z:\home\manadger.dev\www\application\controllers\task.php on line 206
11. OrmaJever - 25 Мая, 2011 - 11:47:01 - перейти к сообщению
в php.ini
найдите строку
CODE (htmlphp):
скопировать код в буфер обмена
  1. ;extension=php_fileinfo.dll

и уберите ; вначале
Затем перезапустить веб сервер
12. jonston - 25 Мая, 2011 - 11:54:43 - перейти к сообщению
OrmaJever пишет:
в php.ini
найдите строку
CODE (htmlphp):
скопировать код в буфер обмена
  1. ;extension=php_fileinfo.dll

и уберите ; вначале
Затем перезапустить веб сервер


поиск такой строки ничего не дал.
я ее добавил и расскоментил в php.ini
но все равно выбивает ошибку.
У меня денвер с php 5.2

Там как опция можно разрешить загрузку всех типов.Не угрожает ли это безопасности?

есть вот такая - extension=php_mime_magic.dll
13. OrmaJever - 25 Мая, 2011 - 12:06:10 - перейти к сообщению
jonston пишет:
поиск такой строки ничего не дал.

скачал денвер и там к сожаления нету такого расширения Огорчение
я скачивал с офф сайта 5.3.6 там есть всё что нужно Улыбка
jonston пишет:
Там как опция можно разрешить загрузку всех типов.Не угрожает ли это безопасности?

нет! Не в коем случаи!
14. EuGen - 25 Мая, 2011 - 12:10:15 - перейти к сообщению
Требования здесь:
http://www.php.su/functions/?cat=mime-magic

 

Powered by ExBB FM 1.0 RC1