Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/File/Type/Inspector/FlvInspector.php
Строк: 30
<?php

namespace ConcreteCoreFileTypeInspector;
use 
ConcreteCoreFileVersion;
use 
Loader;
use 
Core;
use 
FileAttributeKey;

class 
FlvInspector extends Inspector {

    public function 
inspect(Version $fv) {

        
$at1 FileAttributeKey::getByHandle('duration');
        
$at2 FileAttributeKey::getByHandle('width');
        
$at3 FileAttributeKey::getByHandle('height');

        
// we killed $path here because the file might be hosted remotely.
        // @TODO add in support for streams through the $filesystem object.

        
$cf Core::make('helper/concrete/file');
        
$fs $fv->getFile()->getFileStorageLocationObject()->getFileSystemObject();
        
$fp $fs->readStream($cf->prefix($fv->getPrefix(), $fv->getFileName()));

        @
fseek($fp,27);
        
$onMetaData fread($fp,10);

        
//if ($onMetaData != 'onMetaData') exit('No meta data available in this file! Fix it using this tool: http://www.buraks.com/flvmdi/');

        
@fseek($fp,16,SEEK_CUR);
        
$duration array_shift(unpack('d',strrev(fread($fp,8))));

        @
fseek($fp,8,SEEK_CUR);
        
$width array_shift(unpack('d',strrev(fread($fp,8))));

        @
fseek($fp,9,SEEK_CUR);
        
$height array_shift(unpack('d',strrev(fread($fp,8))));

        
$fv->setAttribute($at1$duration);
        
$fv->setAttribute($at2$width);
        
$fv->setAttribute($at3$height);

    }


}
Онлайн: 1
Реклама