• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • RarArchive::setAllowBroken()

    (PECL rar >= 3.0.0)

    Whether opening broken archives is allowed

    说明

    面向对象风格(method):

    publicRarArchive::setAllowBroken(bool $allow_broken): bool

    过程化风格:

    rar_allow_broken_set(RarArchive$rarfile,bool $allow_broken): bool

    This method defines whether broken archives can be read or all the operations that attempt to extract the archive entries will fail. Broken archives are archives for which no error is detected when the file is opened but an error occurs when reading the entries.

    参数

    $rarfile

    A RarArchive object, opened with rar_open().

    $allow_broken

    Whether to allow reading broken files(TRUE)or not(FALSE).

    返回值

    Returns TRUE或者在失败时返回FALSE. It will only fail if the file has already been closed.

    范例

    Example #1 面向对象风格

    <?php
    function retnull() { return null; }
    $file = dirname(__FILE__) . "/multi_broken.part1.rar";
    /* Third argument omits "volume not found" message */
    $a = RarArchive::open($file, null, 'retnull');
    $a->setAllowBroken(true);
    foreach ($a->getEntries() as $e) {
        echo "$e\n";
    }
    var_dump(count($a));
    ?>
    

    以上例程的输出类似于:

    RarEntry for file "file1.txt" (52b28202)
    int(1)
    

    Example #2 过程化风格

    <?php
    function retnull() { return null; }
    $file = dirname(__FILE__) . "/multi_broken.part1.rar";
    /* Third argument omits "volume not found" message */
    $a = rar_open($file, null, 'retnull');
    rar_allow_broken_set($a, true);
    foreach (rar_list($a) as $e) {
        echo "$e\n";
    }
    var_dump(count($a));
    ?>
    

    参见

    • RarArchive::isBroken() Test whether an archive is broken(incomplete)