當前位置: 首頁>>代碼示例>>PHP>>正文


PHP PharData::getSignature方法代碼示例

本文整理匯總了PHP中PharData::getSignature方法的典型用法代碼示例。如果您正苦於以下問題:PHP PharData::getSignature方法的具體用法?PHP PharData::getSignature怎麽用?PHP PharData::getSignature使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在PharData的用法示例。


在下文中一共展示了PharData::getSignature方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: dirname

include dirname(__FILE__) . '/files/tarmaker.php.inc';
$fname = dirname(__FILE__) . '/tar_004.phar.tar';
$alias = 'phar://' . $fname;
$fname2 = dirname(__FILE__) . '/tar_004.tar';
$tar = new tarmaker($fname, 'none');
$tar->init();
$tar->addFile('tar_004.php', '<?php var_dump(__FILE__);');
$tar->addFile('internal/file/here', "hi there!\n");
$tar->addFile('.phar/stub.php', "__HALT_COMPILER();");
$tar->close();
try {
    $phar = new Phar($fname);
    var_dump($phar->getStub());
} catch (Exception $e) {
    echo $e->getMessage() . "\n";
}
ini_set('phar.require_hash', 0);
try {
    $phar = new PharData($fname2);
    $phar['file'] = 'hi';
    var_dump($phar->getSignature());
    $phar->setSignatureAlgorithm(Phar::MD5);
    var_dump($phar->getSignature());
} catch (Exception $e) {
    echo $e->getMessage() . "\n";
}
?>
===DONE===
<?php 
@unlink(dirname(__FILE__) . '/tar_004.phar.tar');
@unlink(dirname(__FILE__) . '/tar_004.tar');
開發者ID:alphaxxl,項目名稱:hhvm,代碼行數:31,代碼來源:require_hash.php

示例2: toTar

 function toTar()
 {
     if (isset($this->tar)) {
         return;
     }
     if (isset($this->tgz)) {
         if (file_exists($this->file . '.tar')) {
             try {
                 $p = new \PharData($this->file . '.tar');
             } catch (\Exception $e) {
             }
             if ($p->getSignature() === $this->phar->getSignature()) {
                 $this->tar = $p;
                 if ($this->outfile) {
                     copy($this->file . '.tar', $this->outfile . '.tar');
                 }
                 return;
             }
             unset($p);
             \Phar::unlinkArchive($this->file . '.tar');
         }
         $fp = gzopen($this->file . '.tgz', 'rb');
         $gp = fopen($this->file . '.tar', 'wb');
         stream_copy_to_stream($fp, $gp);
         fclose($fp);
         fclose($gp);
         $this->tar = new \PharData($this->file . '.tar');
         return;
     }
     if (isset($this->zip)) {
         if (file_exists($this->file . '.tar')) {
             \Phar::unlinkArchive($this->file . '.tar');
         }
         $this->tar = $this->zip->convertToData(\Phar::TAR, \Phar::NONE, $this->ext . '.tar');
         $this->tar->setSignatureAlgorithm(\Phar::SHA1);
         if ($this->outfile) {
             copy($this->file . '.tar', $this->outfile . '.tar');
         }
         $this->zip = new \PharData($this->file . '.zip');
         return;
     }
     // by process of elimination, the phar is in phar format
     if (file_exists($this->file . '.tar')) {
         \Phar::unlinkArchive($this->file . '.tar');
     }
     $this->tar = $this->phar->convertToData(\Phar::TAR, \Phar::NONE, $this->ext . '.tar');
     $this->tar->setSignatureAlgorithm(\Phar::SHA1);
     if ($this->outfile) {
         copy($this->file . '.tar', $this->outfile . '.tar');
     }
     $this->phar = new \Phar($this->file . '.phar');
 }
開發者ID:peopleplan,項目名稱:Pyrus,代碼行數:52,代碼來源:Cloner.php


注:本文中的PharData::getSignature方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。