public function testTotalByteValueFromFile() { $this->createTempDir("ezcArchive_"); $dir = $this->getTempDir(); file_put_contents("{$dir}/byte_value_file.txt", $this->testString); $byteValueExpected = ezcArchiveChecksums::getTotalByteValueFromString(file_get_contents("{$dir}/byte_value_file.txt")); $byteValue = ezcArchiveChecksums::getTotalByteValueFromFile("{$dir}/byte_value_file.txt"); $this->assertEquals($byteValueExpected, $byteValue); }
/** * Returns the encoded header as given as the parameter $encodedHeader but includes the * checksum of the header. * * The encoded header $encodedHeader should have spaces at the place where the checksum should be stored. * * @param string $encodedHeader * @return string */ protected function setChecksum($encodedHeader) { $total = ezcArchiveChecksums::getTotalByteValueFromString($encodedHeader); $checksum = pack("a7", str_pad(decoct($total), 6, "0", STR_PAD_LEFT)); $checksum .= " "; $begin = substr($encodedHeader, 0, 148); $end = substr($encodedHeader, 156); return $begin . $checksum . $end; }