本文整理汇总了PHP中zipfile::close方法的典型用法代码示例。如果您正苦于以下问题:PHP zipfile::close方法的具体用法?PHP zipfile::close怎么用?PHP zipfile::close使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zipfile
的用法示例。
在下文中一共展示了zipfile::close方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: trim
$vcard->setEmail($row['email']);
$vcard->setNote('Originated from an AContent at ' . TR_BASE_HREF . '. See ATutor.ca for additional information.');
$vcard->setURL($row['website']);
$imsmanifest_xml = str_replace('{VCARD}', $vcard->getVCard(), $imsmanifest_xml);
} else {
$imsmanifest_xml = str_replace('{VCARD}', '', $imsmanifest_xml);
}
/* save the imsmanifest.xml file */
$zipfile->add_file($imsmanifest_xml, 'imsmanifest.xml');
/* Commented by Cindy Qi Li on Jan 12, 2010
// AContent does not have glossary and forums (discussion tools)
if ($glossary_xml) {
$zipfile->create_dir('resources/GlossaryItem/');
$zipfile->add_file($glossary_xml, 'resources/GlossaryItem/glossary.xml');
}
*/
$zipfile->close();
// this is optional, since send_file() closes it anyway
$ims_course_title = str_replace(array(' ', ':'), '_', $ims_course_title);
/**
* A problem here with the preg_replace below.
* Originally was designed to remove all werid symbols to avoid file corruptions.
* In UTF-8, all non-english chars are considered to be 'werid symbols'
* We can still replace it as is, or add fileid to the filename to avoid these problems
* Well then again people won't be able to tell what this file is about
* If we are going to take out the preg_replace, some OS might not be able to understand
* these characters and will have problems importing.
*/
$ims_course_title = preg_replace("{[^a-zA-Z0-9._-]}", "", trim($ims_course_title));
$zipfile->send_file($ims_course_title . '_imscc');
exit;
示例2: export_theme
function export_theme($theme_dir)
{
require AT_INCLUDE_PATH . 'classes/zipfile.class.php';
/* for zipfile */
require AT_INCLUDE_PATH . 'classes/XML/XML_HTMLSax/XML_HTMLSax.php';
/* for XML_HTMLSax */
require 'theme_template.inc.php';
/* for theme XML templates */
global $db;
//identify current theme and then searches db for relavent info
$sql = "SELECT * FROM " . TABLE_PREFIX . "themes WHERE dir_name = '{$theme_dir}'";
$result = mysql_query($sql, $db);
$row = mysql_fetch_assoc($result);
$dir = $row['dir_name'] . '/';
$title = $row['title'];
$version = $row['version'];
$type = $row['type'];
$last_updated = $row['last_updated'];
$extra_info = $row['extra_info'];
//generate 'theme_info.xml' file based on info
$info_xml = str_replace(array('{TITLE}', '{VERSION}', '{TYPE}', '{LAST_UPDATED}', '{EXTRA_INFO}'), array($title, $version, $type, $last_updated, $extra_info), $theme_template_xml);
//zip together all the contents of the folder along with the XML file
$zipfile = new zipfile();
$zipfile->create_dir($dir);
//update installation folder
$dir1 = get_main_theme_dir(intval($row["customized"])) . $dir;
$zipfile->add_file($info_xml, $dir . 'theme_info.xml');
/* zip other required files */
$zipfile->add_dir($dir1, $dir);
/*close & send*/
$zipfile->close();
//Name the Zip file and sends to user for download
$zipfile->send_file(str_replace(array(' ', ':'), '_', $title));
}
示例3: get_projects_archive
function get_projects_archive($projects, $shedule)
{
require_once "zip.lib.php";
$zipfile = new zipfile();
foreach ($projects as $fname => $project) {
$fname = 'Projects/' . $fname;
$zipfile->addFile($project, $fname);
}
$zipfile->addFile($shedule, 'shedule.xml');
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename=projects-' . date("d-m-Y-H-i-s") . '.zip');
echo $zipfile->file();
$zipfile->close();
}
示例4: test_qti_export
//.........这里部分代码省略.........
$sql = "SELECT course_id, title, primary_language FROM " . TABLE_PREFIX . "courses\n WHERE course_id = (SELECT course_id FROM " . TABLE_PREFIX . "tests\n WHERE test_id=" . $tid . ")";
$result = mysql_query($sql, $db);
$course_row = mysql_fetch_assoc($result);
$course_language = $course_row['primary_language'];
$course_id = $course_row['course_id'];
$course_title = $course_row['title'];
}
$courseLanguage =& $languageManager->getLanguage($course_language);
$course_language_charset = $courseLanguage->getCharacterSet();
$imported_files;
$zipflag = false;
if ($zipfile == null) {
$zipflag = true;
}
if ($test_zipped_files == null) {
$test_zipped_files = array();
}
if ($zipflag) {
$zipfile = new zipfile();
$zipfile->create_dir('resources/');
// for all the dependency files
}
$resources = array();
$dependencies = array();
// don't want to sort it, i want the same order out.
// asort($question_ids);
//TODO: Merge the following 2 sqls together.
//Randomized or not, export all the questions that are associated with it.
$sql = "SELECT TQ.question_id, TQA.weight FROM " . TABLE_PREFIX . "tests_questions TQ INNER JOIN " . TABLE_PREFIX . "tests_questions_assoc TQA USING (question_id) WHERE TQ.course_id={$course_id} AND TQA.test_id={$tid} ORDER BY TQA.ordering, TQA.question_id";
$result = mysql_query($sql, $db);
$question_ids = array();
while (($question_row = mysql_fetch_assoc($result)) != false) {
$question_ids[] = $question_row['question_id'];
}
//No questions in the test
if (sizeof($question_ids) == 0) {
return;
}
$question_ids_delim = implode(',', $question_ids);
//$sql = "SELECT * FROM ".TABLE_PREFIX."tests_questions WHERE course_id=$_SESSION[course_id] AND question_id IN($question_ids_delim)";
$sql = "SELECT TQ.*, TQA.weight, TQA.test_id FROM " . TABLE_PREFIX . "tests_questions TQ INNER JOIN " . TABLE_PREFIX . "tests_questions_assoc TQA USING (question_id) WHERE TQA.test_id={$tid} AND TQ.question_id IN({$question_ids_delim}) ORDER BY TQA.ordering, TQA.question_id";
$result = mysql_query($sql, $db);
while ($row = mysql_fetch_assoc($result)) {
$obj = TestQuestions::getQuestion($row['type']);
$local_xml = '';
$local_xml = $obj->exportQTI($row, $course_language_charset, '1.2.1');
$local_dependencies = array();
$text_blob = implode(' ', $row);
$local_dependencies = get_html_resources($text_blob, $course_id);
$dependencies = array_merge($dependencies, $local_dependencies);
$xml = $xml . "\n\n" . $local_xml;
}
//files that are found inside the test; used by print_organization(), to add all test files into QTI/ folder.
$test_files = $dependencies;
$resources[] = array('href' => 'tests_' . $tid . '.xml', 'dependencies' => array_keys($dependencies));
$xml = trim($xml);
//get test title
$sql = "SELECT title, num_takes FROM " . TABLE_PREFIX . "tests WHERE test_id = {$tid}";
$result = mysql_query($sql, $db);
$row = mysql_fetch_array($result);
//TODO: wrap around xml now
$savant->assign('xml_content', $xml);
$savant->assign('title', htmlspecialchars($row['title'], ENT_QUOTES, 'UTF-8'));
$savant->assign('num_takes', $row['num_takes']);
$savant->assign('use_cc', $use_cc);
$xml = $savant->fetch('test_questions/wrapper.tmpl.php');
$xml_filename = 'tests_' . $tid . '.xml';
if (!$use_cc) {
$zipfile->add_file($xml, $xml_filename);
} else {
$zipfile->add_file($xml, 'QTI/' . $xml_filename);
}
// add any dependency files:
if (!$use_cc) {
foreach ($dependencies as $resource => $resource_server_path) {
//add this file in if it's not already in the zip package
if (!in_array($resource_server_path, $test_zipped_files)) {
$zipfile->add_file(@file_get_contents($resource_server_path), 'resources/' . $resource, filemtime($resource_server_path));
$test_zipped_files[] = $resource_server_path;
}
}
}
if ($zipflag) {
// construct the manifest xml
$savant->assign('resources', $resources);
$savant->assign('dependencies', array_keys($dependencies));
$savant->assign('encoding', $course_language_charset);
$savant->assign('title', $test_title);
$savant->assign('xml_filename', $xml_filename);
$manifest_xml = $savant->fetch('test_questions/manifest_qti_1p2.tmpl.php');
$zipfile->add_file($manifest_xml, 'imsmanifest.xml');
$zipfile->close();
$filename = str_replace(array(' ', ':'), '_', $course_title . '-' . $test_title . '-' . date('Ymd'));
$zipfile->send_file($filename);
exit;
}
$return_array[$xml_filename] = array_keys($dependencies);
return $return_array;
//done
}