本文整理汇总了PHP中ZipArchive::addGlob方法的典型用法代码示例。如果您正苦于以下问题:PHP ZipArchive::addGlob方法的具体用法?PHP ZipArchive::addGlob怎么用?PHP ZipArchive::addGlob使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZipArchive
的用法示例。
在下文中一共展示了ZipArchive::addGlob方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: create_zip_package
function create_zip_package($dir, $destination)
{
$zip = new ZipArchive();
if ($zip->open($destination, ZipArchive::OVERWRITE) !== true) {
echo 'Failed to create ' . $destination . ' with code ' . $ret;
return false;
} else {
$zip->addGlob($dir . '/*.php', GLOB_BRACE, array('add_path' => '/' . basename($dir) . '/', 'remove_all_path' => true));
$zip->addFile($dir . '/package-info.xml', 'package-info.xml');
$zip->addFile($dir . '/agreement.txt', 'agreement.' . basename($dir) . '.txt');
$zip->close();
return true;
}
}
示例2: downloadAction
/**
* Скачать архив с резервной копией
*
*/
public function downloadAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(TRUE);
if ($this->hasParam('dir')) {
$dir = $this->getParam('dir');
$zip = new ZipArchive();
$ret = $zip->open($zipFile = TEMP_PATH . DS . $dir . '.zip', ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
printf('Failed with code %d', $ret);
} else {
$options = array('add_path' => 'backup/', 'remove_all_path' => TRUE);
$zip->addGlob(TEMP_PATH . DS . 'Backups/' . $dir . '/*.*', GLOB_BRACE, $options);
$zip->close();
header('Content-Type: ' . System_Mime_Type::mime($zipFile));
header('Content-Length: ' . filesize($zipFile));
header("Content-Disposition: attachment; filename=\"" . basename($zipFile) . "\";");
header("Content-Transfer-Encoding: binary");
ob_end_flush();
readfile($zipFile);
unlink($zipFile);
exit;
}
}
}
示例3: makeComicBookFromDir
public static function makeComicBookFromDir($dir, $extension = "cbr")
{
if (!is_dir($dir)) {
return false;
}
$zipFile = $dir . "." . $extension;
$zipArchive = new ZipArchive();
if (!$zipArchive->open($zipFile, ZIPARCHIVE::OVERWRITE)) {
die("Failed to create archive\n");
}
$zipArchive->addGlob($dir . "/*");
if (!$zipArchive->status == ZIPARCHIVE::ER_OK) {
echo "Failed to write files to zip\n";
}
$zipArchive->close();
return true;
}
示例4: printf
<?php
require "vendor/autoload.php";
\D2LView\StaticPages::generate(".", "phtml");
$zip = new \ZipArchive();
$ret = $zip->open('courseShell.zip', ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
if ($ret !== TRUE) {
printf('Failed with code %d', $ret);
} else {
$zip->addGlob('*.{html,xml}', GLOB_BRACE);
$zip->close();
}
示例5: generarZip
private function generarZip()
{
$zip = new ZipArchive();
$ret = $zip->open($this->pathCirculares . "/circulares{$_SESSION['usuarioPortal']['Id']}.zip", ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
printf('Erróneo con el código %d', $ret);
} else {
$options = array('add_path' => "/", 'remove_all_path' => TRUE);
$ok = $zip->addGlob("{$this->pathCirculares}/{$_SESSION['usuarioPortal']['Id']}_*.rtf", GLOB_BRACE, $options);
$zip->close();
if ($ok) {
// Borrar los archivos
foreach (glob("{$this->pathCirculares}/{$_SESSION['usuarioPortal']['Id']}_*.rtf") as $nombreArchivo) {
@unlink($nombreArchivo);
}
}
}
}
示例6: json_encode
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
error_reporting(E_ERROR);
require '../init.php';
$data['error'] = "error";
$data['message'] = "Unknown error";
try {
if (!$authAdmin) {
throw new Exception("Access denied. Please login as an Admin to continue.");
}
$dump = new DumpSQL();
$sqlFile = $dump->getDumpFile();
$zipFile = "data/backup_" . BASE . "_" . date('Y-m-d') . ".zip";
$options = array('remove_all_path' => true, 'add_path' => 'screens/');
$zip = new ZipArchive();
$zip->open(INSTALL_PATH . $zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE);
$zip->addFile(INSTALL_PATH . $sqlFile, basename($sqlFile));
$zip->addGlob(DATA_PATH . '*', null, $options);
$zip->close();
unlink(INSTALL_PATH . $sqlFile);
$data['error'] = 'OK';
$data['message'] = $LANG['Backup_OK'];
$data['dumpfile'] = $zipFile;
} catch (Exception $e) {
$data['message'] = $e->getMessage();
}
header('HTTP/1.1 200 OK');
header('Content-type: application/json; charset=UTF-8');
echo ")]}',\n";
// Pour sécu anti injection JSONP
echo json_encode($data, JSON_UNESCAPED_UNICODE);
示例7: elseif
} elseif ($action === 'download_attachments') {
try {
// Get the year
$year = date('Y', strtotime($listPeriode[$id_periode - 1]['date_debut']));
// Create the zip
$zipFilename = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'afup_justificatifs-' . $year . '.zip';
$zip = new ZipArchive();
$ret = $zip->open($zipFilename, ZipArchive::CREATE);
if ($ret !== true) {
throw new RuntimeException("Impossible to open the Zip archive.");
} else {
for ($month = 1; $month <= 12; $month++) {
$searchDir = sprintf('%d%02d', $year, $month);
$zipDir = sprintf('%d%02d', $year, $month);
$options = ['add_path' => 'afup_justificatifs-' . $year . '/' . $zipDir . '/', 'remove_all_path' => true];
$zip->addGlob(AFUP_CHEMIN_RACINE . '/uploads/' . $searchDir . '/*.*', 0, $options);
}
$zip->close();
// Download it
header('Content-Type: application/zip');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($zipFilename) . "\"");
readfile($zipFilename);
unlink($zipFilename);
exit;
}
} catch (Exception $e) {
header('HTTP/1.1 400 Bad Request');
header('X-Info: ' . $e->getMessage());
exit;
}
示例8: createModArchive
private function createModArchive()
{
$zip = new ZipArchive();
$filename = self::PACKAGE . '-' . self::VERSION . '.zip';
if ($zip->open($this->getBuildDir() . DIRECTORY_SEPARATOR . $filename, ZipArchive::CREATE) !== true) {
throw new RuntimeException('Zip create error');
}
$zip->addGlob('*.php');
$zip->addGlob('*.xml');
$zip->addGlob('*.txt');
$zip->addGlob('languages/*.xml');
$zip->addGlob('upgrades/*.*');
$zip->deleteName('RoboFile.php');
//self
$zip->close();
$this->say("Created zip {$filename}");
}
示例9: generateAttachmentDownload
function generateAttachmentDownload()
{
$file_path = getcwd() . '/output_files_work/';
array_map('unlink', glob($file_path . "*"));
$zipFileName = getcwd() . '/output_files/hy_image_2016.zip';
//cleanup
array_map('unlink', glob($file_path . "*"));
array_map('unlink', glob(getcwd() . '/output_files/*'));
$tables = ["articles", "q2", "q3", "q4", "q5", "q6", "q7", "q8", "q9"];
$this->setReportFilter();
for ($i = 0; $i < count($tables); $i++) {
array_map('unlink', glob($file_path . "*"));
//extract attachment out from DB
$query = "select attachment_type, attachment, attachment_name from " . $tables[$i] . " where attachment is not null";
if (trim($this->report_filter) != '') {
$query = $query . " AND " . $this->report_filter;
}
$result = $this->runQuery($query);
foreach ($result as $row) {
file_put_contents($file_path . $row['attachment_name'], $row['attachment']);
}
//create zip file
$zip = new ZipArchive();
if ($zip->open($zipFileName, ZipArchive::CREATE) !== TRUE) {
exit("cannot open <{$zipFileName}>\n");
}
$options = array('add_path' => $i + 1 . '/', 'remove_all_path' => TRUE);
$zip->addGlob($file_path . "/*", GLOB_BRACE, $options);
$zip->close();
}
if (file_exists($zipFileName)) {
//send zip file to browser
$download_file_name = "hy_" . $_POST['wuzhong'] . ".zip";
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename={$download_file_name}");
header("Content-Length: " . filesize($zipFileName));
readfile($zipFileName);
} else {
$this->f3->set('message', "没有找到附加文件");
$this->f3->set('report_filter', $_POST['wuzhong']);
$this->f3->set('view', 'report/report.html');
$this->f3->set('showMenu', false);
echo Template::instance()->render('layout.htm');
// echo Template::instance()->render('report.html');
echo $this->generatePageBody();
}
}
示例10: zipFolderContent
function zipFolderContent($folder, $fileName)
{
$zip = new ZipArchive();
$zipFile = $folder . '/' . $fileName . '.zip';
if ($zip->open($zipFile, ZipArchive::CREATE) !== TRUE) {
die('cannot open ' . $fileName);
}
$options = array('add_path' => $fileName . '/', 'remove_all_path' => TRUE);
$zip->addGlob($folder . '/*', 0, $options);
$zip->close();
}
示例11: ZipArchive
<?php
$zipFile = new ZipArchive();
$zipFile->open("./binaries.zip", ZipArchive::CREATE);
$directories = ["../imagick/images/spiderGif/*.png"];
foreach ($directories as $directory) {
$zipFile->addGlob($directory);
}
$zipFile->close();
示例12: fopen
$rows = $db->query("SELECT * FROM backup where type like '27' and userid = " . $userid);
while ($row = $rows->fetchArray()) {
$source = $row['image'];
$refid = $row['refid'];
//$source = "https://myapps.gia.edu/ReportCheckPortal/downloadReport.do?reportNo=1152872617&weight=1.35";
$ch = curl_init($source);
$destination = "./saved/" . $username . "." . $refid . ".jpg";
$file = fopen($destination, "w+");
curl_setopt($ch, CURLOPT_FILE, $file);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($Channel, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_SSLVERSION,3);
$data = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
fclose($File);
print $refid . "<br>";
}
$zipFile = "./" . $userid . ".zip";
$zipArchive = new ZipArchive();
if (!$zipArchive->open($zipFile, ZIPARCHIVE::OVERWRITE)) {
die("Failed to create archive\n");
}
$zipArchive->addGlob("./saved/" . $userid . "*.jpg");
if (!$zipArchive->status == ZIPARCHIVE::ER_OK) {
echo "Failed to write files to zip\n";
}
$zipArchive->close();
示例13: buildZipFile
/**
* Baut die ZIP-Datei auf.
*/
private function buildZipFile()
{
$this->changePermissions();
shell_exec('cd "' . $this->sProjectPath . '" && sudo make singlehtml');
$zip = new ZipArchive();
if ($zip->open('' . $this->sProjectPath . '/html.zip', ZipArchive::OVERWRITE)) {
$zip->addFile('' . $this->sProjectPath . '/build/singlehtml/index.html', "index.html");
$zip->addFile('' . $this->sProjectPath . '/build/singlehtml/objects.inv', "objects.inv");
$zip->addGlob('' . $this->sProjectPath . '/build/singlehtml/_static/*', GLOB_ERR, array('add_path' => '_static/', 'remove_all_path' => TRUE));
$zip->close();
} else {
die("zip erstellung ");
}
}
示例14: addFiles
/**
* Add files
*
* @param string $subfolder The subfolder
* @param \ZipArchive $zip The zip object
* @param string $path Optional path
*
* @return void
*/
private function addFiles($subfolder, $zip, $path = null)
{
if (!$path) {
$path = $this->current;
}
if ($subfolder->isFile()) {
// Set all separators to forward slashes for comparison
$usefolder = str_replace('\\', '/', $subfolder->getPath());
// Drop the folder part as we don't want them added to archive
$addpath = str_ireplace($path, '', $usefolder);
// Remove preceding slash
$findfirst = strpos($addpath, '/');
if ($findfirst == 0 && $findfirst !== false) {
$addpath = substr($addpath, 1);
}
if (strlen($addpath) > 0 || empty($addpath)) {
$addpath .= '/';
}
$options = array('add_path' => $addpath, 'remove_all_path' => true);
$zip->addGlob($usefolder . '/*.*', GLOB_BRACE, $options);
}
}
示例15: dirname
<?php
$dirname = dirname(__FILE__) . '/';
include $dirname . 'utils.inc';
$file = $dirname . '__tmp_oo_addglob.zip';
copy($dirname . 'test.zip', $file);
touch($dirname . 'foo.txt');
touch($dirname . 'bar.baz');
$zip = new ZipArchive();
if (!$zip->open($file)) {
exit('failed');
}
$options = array('add_path' => 'baz/', 'remove_all_path' => TRUE);
if (!$zip->addGlob($dirname . '*.{txt,baz}', GLOB_BRACE, $options)) {
echo "failed1\n";
}
if ($zip->status == ZIPARCHIVE::ER_OK) {
dump_entries_name($zip);
$zip->close();
} else {
echo "failed2\n";
}