<?php
/**
*
* @author Greg Kappatos
*
* This class serves as a concrete exception.
* It will be thrown if the output length of fwrite() does not match
* the input length. So far, this only occurs in Core\AbstractZipArchive::addStreamData()
*
*/
namespace PHPZip\Zip\Exception;
use PHPZip\Zip\Core\AbstractException;
class HeaderPositionError extends AbstractException {
private $_expected = null;
private $_actual = null;
/**
* Constructor
*
* @author A. Grandt <php@grandt.com>
* @author Greg Kappatos
*
* @param array $config Configuration array containing expected and written
*/
public function __construct(array $config){
$this->_expected = (string)$config['expected'];
$this->_actual = (string)$config['actual'];
$message = sprintf(
'%s %s %s %s %s',
(string)($this->_actual - $this->_expected),
' extra bytes before header. Expected pos ',
$this->_expected,
' but found the header at ',
$this->_actual
);
parent::__construct($message);
}
public function getExpected(){
return $this->_expected;
}
public function getActual(){
return $this->_actual;
}
}