• File: class.duparchive.header.u.php
  • Full Path: /home/chassiw/www/wp-content/plugins/duplicator/lib/dup_archive/classes/headers/class.duparchive.header.u.php
  • File size: 1.11 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

if(!class_exists('DupArchiveHeaderU')) {
class DupArchiveHeaderU
{
    const MaxStandardHeaderFieldLength = 128;
    
    public static function readStandardHeaderField($archiveHandle, $ename)
    {
        $expectedStart = '<'.$ename.'>';
        $expectedEnd = '</'.$ename.'>';

        $startingElement = fread($archiveHandle, strlen($expectedStart));

        if($startingElement !== $expectedStart) {
            throw new Exception("Invalid starting element. Was expecting {$expectedStart} but got {$startingElement}");
        }

        //return SnapLibStreamU::streamGetLine($archiveHandle, self::MaxStandardHeaderFieldLength, $expectedEnd);

        $headerString = stream_get_line($archiveHandle, self::MaxStandardHeaderFieldLength, $expectedEnd);

        if ($headerString === false) {
            throw new Exception('Error reading line.');
        }

        return $headerString;
    }
}
}