Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Формат файла PHP

3.0K
11 декабря 2006 года
NetWork
77 / / 10.08.2006
Люди вопрос такой. Нужно проверить файл на принадлежность к формату swf подскажите как правильно сделать это?

[COLOR=darkred]==============[/COLOR]
[COLOR=darkred]Устно-письменное предупреждение за несоответствие названия темы содержанию!!![/COLOR]
8
11 декабря 2006 года
mfender
3.5K / / 15.06.2005
getimagesize();
3.0K
11 декабря 2006 года
NetWork
77 / / 10.08.2006
Про GetImageSize я и так знал. :) просто в ней небольшой косяк есть. Выбираем допустим файл swf , а она не всегда его верно опазнаёт. Точнее дело в самом файле. Тли если размер слишком мал файл не является swf, толи если создан не так.
Помогите может можно исправить. С другими форматами всё ОК.
Код:
$type_upload=GetImageSize($file_banner);

               if ($type_upload[2]==1)
                {
                echo"<img src=/images/$new_file_name border=1 width=$width height=$height>";
                    }
                if ($type_upload[2]==2)
                {
                echo"<img src=/images/$new_file_name border=1 width=$width height=$height>";
                    }
                if ($type_upload[2]==3)
                {
                echo"<img src=/images/$new_file_name border=1 width=$width height=$height>";
                    }
                if ($type_upload[2]==4)
                {
                echo'
                <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,42,0" id="Banner Exchange" width="'
.$width.'" height="'.$height.'">
                <param name="movie" value="/images/'
.$new_file_name.'">
                <param name="quality" value="high">
                <param name="allowscriptaccess" value="samedomain">
                <embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="'
.$width.'" height="'.$height.'" name="'.$new_file_name.'" src="/images/'.$new_file_name.'" quality="high" swLiveConnect="true" allowScriptAccess="samedomain">
                </embed>
                </object>'
;
                    }
256
11 декабря 2006 года
foxweb
1.0K / / 27.07.2005
формат файла php - текстовый, text/plain

для определения формата графических файлов читаем сигнатуру (первые 5-10 байт). я применял такую функцию:

 
Код:
function getdatatype($str)
  {
    $sign = substr($str, 0, 10);
    if (strpos($sign, "JFIF") !== false) return "image/jpeg";
    if (strpos($sign, "PNG") !== false) return "image/png";
    if (strpos($sign, "GIF89") !== false) return "image/gif";
    if (strpos($sign, "CWS") !== false) return "application/x-shockwave-flash";
  }
4
11 декабря 2006 года
mike
3.7K / / 01.10.2002
Вызывай getimagesize так:

 
Код:
$s=@GetImageSize($file_banner);
if (!is_array($s)) {
    print "неверный формат файла";
    }
else {
      /* тут твой switch */
      }
3.0K
11 декабря 2006 года
NetWork
77 / / 10.08.2006
Нет не получилось.

Тут видите проблема в чём. GetImageSize когда SWF формат проверяет, то неизвестно почему, но факт в том, что если при создании FLASH анимации использоволось зжатие, файл не будет определятся функцией GetImageSize

Вот так вот

ДАже не знаю, что делать :)
3.0K
11 декабря 2006 года
NetWork
77 / / 10.08.2006
Всё я понял в чём ошибка.

Может кому будет тоже нужно. Оказывается SWF не всегда бывает SWF иногда он SWC типа кодированный SWF

Ну и определяем его вот так

 
Код:
$type_upload=GetImageSize($file);

if ($type_upload[2]==13)
{
echo SWC;
}


Ну а для открытия нужно указывать формат swf
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог