Просмотр поста

.
L!MP

Как-то так должно быть.

public function __construct($archive)
    {
        if ( ! extension_loaded('zip')) {
            throw new RuntimeException("Unsupported ZipArchive class");
        }

        $this->zip = new ZipArchive();

        if ( ! $opened = (is_file($archive) 
            ? $this->zip->open($archive)
            : $this->zip->open($archive, ZipArchive::CREATE)
        )) {
            throw new RuntimeException("Cannot open {$archive}. Error code: {$opened}");
        }
    }