本文整理汇总了PHP中zipfile::setOutFile方法的典型用法代码示例。如果您正苦于以下问题:PHP zipfile::setOutFile方法的具体用法?PHP zipfile::setOutFile怎么用?PHP zipfile::setOutFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zipfile
的用法示例。
在下文中一共展示了zipfile::setOutFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: ft_zip_page
/**
* Implementation of hook_page.
* Zip current file/folder
*/
function ft_zip_page($act)
{
global $ft;
if ($act == 'zip') {
$_REQUEST['file'] = trim(ft_stripslashes($_REQUEST['file']));
// nom de fichier/repertoire
$zip = new zipfile();
if ($ft["plugins"]["zip"]["filebuffer"]) {
$zip->setOutFile($ft["plugins"]["zip"]["filebuffer"]);
}
$substr_base = strlen(ft_get_dir()) + 1;
foreach (ft_zip_getfiles(ft_get_dir() . '/' . $_REQUEST['file']) as $file) {
$filename = substr($file, $substr_base);
$filesize = filesize($file);
if ($filesize > 0) {
$fp = fopen($file, 'r');
$content = fread($fp, $filesize);
fclose($fp);
} else {
$content = '';
}
$zip->addfile($content, $filename);
}
if ($ft["plugins"]["zip"]["filebuffer"]) {
$zip->finish();
$filesize = filesize($ft["plugins"]["zip"]["filebuffer"]);
} else {
$archive = $zip->file();
$filesize = strlen($archive);
}
header('Content-Type: application/x-zip');
header('Content-Disposition: inline; filename="' . $_REQUEST['file'] . '.zip"');
header('Content-Length: ' . $filesize);
if ($ft["plugins"]["zip"]["filebuffer"]) {
readfile($ft["plugins"]["zip"]["filebuffer"]);
unlink($ft["plugins"]["zip"]["filebuffer"]);
} else {
echo $archive;
}
exit;
}
}