本文整理汇总了PHP中Zend_Validate_File_Hash::isValid方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Validate_File_Hash::isValid方法的具体用法?PHP Zend_Validate_File_Hash::isValid怎么用?PHP Zend_Validate_File_Hash::isValid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Validate_File_Hash
的用法示例。
在下文中一共展示了Zend_Validate_File_Hash::isValid方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testBasic
/**
* Ensures that the validator follows expected behavior
*
* @return void
*/
public function testBasic()
{
$valuesExpected = array(array('3f8d07e2', true), array('9f8d07e2', false), array(array('9f8d07e2', '3f8d07e2'), true), array(array('9f8d07e2', '7f8d07e2'), false));
foreach ($valuesExpected as $element) {
$validator = new Zend_Validate_File_Hash($element[0]);
$this->assertEquals($element[1], $validator->isValid(dirname(__FILE__) . '/_files/picture.jpg'), "Tested with " . var_export($element, 1));
}
$valuesExpected = array(array(array('ed74c22109fe9f110579f77b053b8bc3', 'algorithm' => 'md5'), true), array(array('4d74c22109fe9f110579f77b053b8bc3', 'algorithm' => 'md5'), false), array(array('4d74c22109fe9f110579f77b053b8bc3', 'ed74c22109fe9f110579f77b053b8bc3', 'algorithm' => 'md5'), true), array(array('1d74c22109fe9f110579f77b053b8bc3', '4d74c22109fe9f110579f77b053b8bc3', 'algorithm' => 'md5'), false));
foreach ($valuesExpected as $element) {
$validator = new Zend_Validate_File_Hash($element[0]);
$this->assertEquals($element[1], $validator->isValid(dirname(__FILE__) . '/_files/picture.jpg'), "Tested with " . var_export($element, 1));
}
$validator = new Zend_Validate_File_Hash('3f8d07e2');
$this->assertFalse($validator->isValid(dirname(__FILE__) . '/_files/nofile.mo'));
$this->assertTrue(array_key_exists('fileHashNotFound', $validator->getMessages()));
$files = array('name' => 'test1', 'type' => 'text', 'size' => 200, 'tmp_name' => 'tmp_test1', 'error' => 0);
$validator = new Zend_Validate_File_Hash('3f8d07e2');
$this->assertFalse($validator->isValid(dirname(__FILE__) . '/_files/nofile.mo', $files));
$this->assertTrue(array_key_exists('fileHashNotFound', $validator->getMessages()));
$files = array('name' => 'testsize.mo', 'type' => 'text', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo', 'error' => 0);
$validator = new Zend_Validate_File_Hash('3f8d07e2');
$this->assertTrue($validator->isValid(dirname(__FILE__) . '/_files/picture.jpg', $files));
$files = array('name' => 'testsize.mo', 'type' => 'text', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo', 'error' => 0);
$validator = new Zend_Validate_File_Hash('9f8d07e2');
$this->assertFalse($validator->isValid(dirname(__FILE__) . '/_files/picture.jpg', $files));
$this->assertTrue(array_key_exists('fileHashDoesNotMatch', $validator->getMessages()));
}
示例2: hasImage
/**
* @param integer $sqArtefato
* @return boolean
*/
public function hasImage($sqArtefato, $sqTipoArtefato = null)
{
try {
if ($sqTipoArtefato == \Core_Configuration::getSgdoceTipoArtefatoProcesso()) {
$entityArtefato = $this->_getRepository($this->_entityArtefato)->find($sqArtefato);
$sqTipoArtefato = $entityArtefato->getSqTipoArtefatoAssunto()->getSqTipoArtefato()->getSqTipoArtefato();
/**
* se for processo recupera a 1ª peça para verificar se tem imagem
*/
if ($sqTipoArtefato == \Core_Configuration::getSgdoceTipoArtefatoProcesso()) {
$entityArtefatoVinculoPrimeiraPeca = $this->_getRepository($this->_entityArtefatoVinculo)->findOneBy(array('sqArtefatoPai' => $sqArtefato, 'sqTipoVinculoArtefato' => \Core_Configuration::getSgdoceTipoVinculoArtefatoAutuacao()));
/**
* Não existe vinculo de primeira peça para o processo
*/
if (null === $entityArtefatoVinculoPrimeiraPeca) {
return false;
}
//pega o sqArtefato do pai
$sqArtefato = $entityArtefatoVinculoPrimeiraPeca->getSqArtefatoFilho()->getSqArtefato();
}
}
$filePath = $this->getImagePath($sqArtefato);
if (empty($filePath)) {
return false;
}
$file = sprintf('%1$s%2$s..%2$sdata%2$s%3$s', APPLICATION_PATH, DIRECTORY_SEPARATOR, $filePath);
if (!file_exists($file)) {
throw new \Core_Exception_ServiceLayer('Imagem cadastrada, porém não foi encontrado o arquivo da mesma');
}
$artefatoImagemEntity = $this->_getArtefatoImageEntity($sqArtefato);
$hashValidate = new \Zend_Validate_File_Hash(array('hash' => $artefatoImagemEntity->getTxHash(), 'algorithm' => self::HASH_ALGORITHM));
if (!$hashValidate->isValid($file)) {
throw new \Core_Exception_ServiceLayer('Autenticidade da imagem violada');
}
} catch (\Exception $exp) {
$message = sprintf('[SGDoc-e] Exception %s in %s(%d): "%s"', get_class($exp), __METHOD__, $sqArtefato, $exp->getMessage());
error_log($message);
throw $exp;
}
return true;
}