public function zipInit($archive, $callback = null)
    {
        $tempPath = $this->getAssetDirectory().'/#tmp/'.uniqid();

        $result = $this->traceZip($archive, $tempPath);

        $this->files->deleteDirectory($tempPath);

        if (!is_null($callback))
            call_user_func($callback, $result[0], $result[1]);

        return $result[0];
    }