本文整理汇总了PHP中eZDir::copy方法的典型用法代码示例。如果您正苦于以下问题:PHP eZDir::copy方法的具体用法?PHP eZDir::copy怎么用?PHP eZDir::copy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZDir
的用法示例。
在下文中一共展示了eZDir::copy方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: writeDocument
function writeDocument()
{
$ooINI = eZINI::instance('odf.ini');
// Initalize directories
eZDir::mkdir($this->OORootDir);
eZDir::mkdir($this->OOExportDir . "META-INF", false, true);
eZDir::mkdir($this->OOTemplateDir);
$metaXML = "<?xml version='1.0' encoding='UTF-8'?>" . "<office:document-meta xmlns:office='urn:oasis:names:tc:opendocument:xmlns:office:1.0' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:meta='urn:oasis:names:tc:opendocument:xmlns:meta:1.0' xmlns:ooo='http://openoffice.org/2004/office' office:version='1.0' xmlns:ezpublish='http://www.ez.no/ezpublish/oasis'>" . "<office:meta>" . "<meta:generator>eZ Publish</meta:generator>" . " <meta:creation-date>2004-11-10T11:39:50</meta:creation-date>" . " <dc:date>2004-11-10T11:40:15</dc:date>" . " <dc:language>en-US</dc:language>" . " <meta:editing-cycles>3</meta:editing-cycles>" . " <meta:editing-duration>PT26S</meta:editing-duration>" . " <meta:user-defined meta:name='Info 1'/>" . " <meta:user-defined meta:name='Info 2'/>" . " <meta:user-defined meta:name='Info 3'/>" . " <meta:user-defined meta:name='Info 4'/>" . " <meta:document-statistic meta:table-count='0' meta:image-count='0' meta:object-count='0' meta:page-count='1' meta:paragraph-count='1' meta:word-count='2' meta:character-count='10'/>" . " </office:meta>" . "</office:document-meta>";
file_put_contents($this->OOExportDir . "meta.xml", $metaXML);
$settingsXML = "<?xml version='1.0' encoding='UTF-8'?>" . "<office:document-settings xmlns:office='urn:oasis:names:tc:opendocument:xmlns:office:1.0' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:config='urn:oasis:names:tc:opendocument:xmlns:config:1.0' xmlns:ooo='http://openoffice.org/2004/office' office:version='1.0'>" . " <office:settings>" . " </office:settings>" . "</office:document-settings>";
file_put_contents($this->OOExportDir . "settings.xml", $settingsXML);
$useTemplate = $ooINI->variable('ODFExport', 'UseTemplate') == "true";
$templateName = $ooINI->variable('ODFExport', 'TemplateName');
if ($useTemplate) {
$templateFile = "extension/ezodf/templates/" . $templateName;
$archiveOptions = new ezcArchiveOptions(array('readOnly' => true));
$archive = ezcArchive::open($templateFile, null, $archiveOptions);
$archive->extract($this->OOTemplateDir);
// Copy styles.xml and images, if any to the document being generated
if (!copy($this->OOTemplateDir . "styles.xml", $this->OOExportDir . "styles.xml")) {
return array(self::ERROR_COULD_NOT_COPY, "Could not copy the styles.xml file.");
}
$sourceDir = $this->OOTemplateDir . "Pictures";
$destDir = $this->OOExportDir . "Pictures";
eZDir::mkdir($destDir, false, true);
eZDir::copy($sourceDir, $destDir, false, true);
} else {
// Generate a default empty styles.xml file
$stylesXML = "<?xml version='1.0' encoding='UTF-8'?>" . "<office:document-styles xmlns:office='urn:oasis:names:tc:opendocument:xmlns:office:1.0' xmlns:style='urn:oasis:names:tc:opendocument:xmlns:style:1.0' xmlns:text='urn:oasis:names:tc:opendocument:xmlns:text:1.0' xmlns:table='urn:oasis:names:tc:opendocument:xmlns:table:1.0' xmlns:draw='urn:oasis:names:tc:opendocument:xmlns:drawing:1.0' xmlns:fo='urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:meta='urn:oasis:names:tc:opendocument:xmlns:meta:1.0' xmlns:number='urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0' xmlns:svg='urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0' xmlns:chart='urn:oasis:names:tc:opendocument:xmlns:chart:1.0' xmlns:dr3d='urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0' xmlns:math='http://www.w3.org/1998/Math/MathML' xmlns:form='urn:oasis:names:tc:opendocument:xmlns:form:1.0' xmlns:script='urn:oasis:names:tc:opendocument:xmlns:script:1.0' xmlns:ooo='http://openoffice.org/2004/office' xmlns:ooow='http://openoffice.org/2004/writer' xmlns:oooc='http://openoffice.org/2004/calc' xmlns:dom='http://www.w3.org/2001/xml-events' office:version='1.0'>" . " <office:font-face-decls>" . " </office:font-face-decls>" . " <office:styles>" . " <style:style style:name='Table_20_Heading' style:display-name='Table Heading' style:family='paragraph' style:parent-style-name='Table_20_Contents' style:class='extra'>" . " <style:paragraph-properties fo:text-align='center' style:justify-single-word='false' text:number-lines='false' text:line-number='0'/>" . " <style:text-properties fo:font-style='italic' fo:font-weight='bold' style:font-style-asian='italic' style:font-weight-asian='bold' style:font-style-complex='italic' style:font-weight-complex='bold'/>" . " </style:style>" . " <style:style style:name='Preformatted_20_Text' style:display-name='Preformatted Text' style:family='paragraph' style:parent-style-name='Standard' style:class='html'>" . " <style:paragraph-properties fo:margin-top='0in' fo:margin-bottom='0in'/>" . " <style:text-properties style:font-name='Courier New' fo:font-size='10pt' style:font-name-asian='Courier New' style:font-size-asian='10pt' style:font-name-complex='Courier New' style:font-size-complex='10pt'/>" . " </style:style>" . " <style:style style:name='eZCustom_20_factbox' style:display-name='eZCustom_20_factbox' style:family='paragraph' style:parent-style-name='Standard' style:class='text'>" . " <style:paragraph-properties fo:margin-top='0in' fo:margin-bottom='0in'/>" . " <style:text-properties style:font-name='Helvetica' fo:font-size='10pt' style:font-name-asian='Helvetica' style:font-size-asian='10pt' style:font-name-complex='Helvetica' style:font-size-complex='10pt'/>" . " </style:style>" . " <style:style style:name='eZCustom_20_quote' style:display-name='eZCustom_20_quote' style:family='paragraph' style:parent-style-name='Standard' style:class='text'>" . " <style:paragraph-properties fo:margin-top='0in' fo:margin-bottom='0in'/>" . " <style:text-properties style:font-name='Helvetica' fo:font-size='10pt' style:font-name-asian='Helvetica' style:font-size-asian='10pt' style:font-name-complex='Helvetica' style:font-size-complex='10pt'/>" . " </style:style>" . " </office:styles>" . "</office:document-styles>";
file_put_contents($this->OOExportDir . "styles.xml", $stylesXML);
}
$mimeType = "application/vnd.oasis.opendocument.text";
file_put_contents($this->OOExportDir . "mimetype", $mimeType);
// Write content XML file
$contentXML = "<?xml version='1.0' encoding='UTF-8'?>" . "<!DOCTYPE office:document-content PUBLIC '-//OpenOffice.org//DTD OfficeDocument1.0//EN' 'office.dtd'>" . "<office:document-content xmlns:office='urn:oasis:names:tc:opendocument:xmlns:office:1.0'" . " xmlns:meta='urn:oasis:names:tc:opendocument:xmlns:meta:1.0'" . " xmlns:config='urn:oasis:names:tc:opendocument:xmlns:config:1.0'" . " xmlns:text='urn:oasis:names:tc:opendocument:xmlns:text:1.0'" . " xmlns:table='urn:oasis:names:tc:opendocument:xmlns:table:1.0'" . " xmlns:draw='urn:oasis:names:tc:opendocument:xmlns:drawing:1.0'" . " xmlns:presentation='urn:oasis:names:tc:opendocument:xmlns:presentation:1.0'" . " xmlns:dr3d='urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0'" . " xmlns:chart='urn:oasis:names:tc:opendocument:xmlns:chart:1.0'" . " xmlns:form='urn:oasis:names:tc:opendocument:xmlns:form:1.0'" . " xmlns:script='urn:oasis:names:tc:opendocument:xmlns:script:1.0'" . " xmlns:style='urn:oasis:names:tc:opendocument:xmlns:style:1.0'" . " xmlns:number='urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0'" . " xmlns:math='http://www.w3.org/1998/Math/MathML'" . " xmlns:svg='urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0'" . " xmlns:fo='urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0'" . " xmlns:koffice='http://www.koffice.org/2005/'" . " xmlns:dc='http://purl.org/dc/elements/1.1/'" . " xmlns:xlink='http://www.w3.org/1999/xlink'>" . " <office:script/>" . " <office:font-face-decls/>" . " <office:automatic-styles>" . " <text:list-style style:name='bulletlist'>" . " <text:list-level-style-bullet text:level='1' text:style-name='Bullet_20_Symbols' style:num-suffix='.' text:bullet-char='●'>" . " <style:list-level-properties text:space-before='0.25in' text:min-label-width='0.25in'/>" . " <style:text-properties style:font-name='StarSymbol'/>" . " </text:list-level-style-bullet>" . " <text:list-level-style-bullet text:level='2' text:style-name='Bullet_20_Symbols' style:num-suffix='.' text:bullet-char='○'>" . " <style:list-level-properties text:space-before='0.5in' text:min-label-width='0.25in'/>" . " <style:text-properties style:font-name='StarSymbol'/>" . " </text:list-level-style-bullet>" . " <text:list-level-style-bullet text:level='3' text:style-name='Bullet_20_Symbols' style:num-suffix='.' text:bullet-char='■'>" . " <style:list-level-properties text:space-before='0.75in' text:min-label-width='0.25in'/>" . " <style:text-properties style:font-name='StarSymbol'/>" . " </text:list-level-style-bullet>" . " </text:list-style>" . " <text:list-style style:name='numberedlist'>" . " <text:list-level-style-number text:level='1' text:style-name='Numbering_20_Symbols' style:num-suffix='.' style:num-format='1'>" . " <style:list-level-properties text:space-before='0.25in' text:min-label-width='0.25in'/>" . " </text:list-level-style-number>" . " </text:list-style>" . " <style:style style:name='imagecentered' style:family='graphic' style:parent-style-name='Graphics'>" . " <style:graphic-properties style:horizontal-pos='center' style:horizontal-rel='paragraph' style:mirror='none' fo:clip='rect(0in 0in 0in 0in)' draw:luminance='0%' draw:contrast='0%' draw:red='0%' draw:green='0%' draw:blue='0%' draw:gamma='100%' draw:color-inversion='false' draw:image-opacity='100%' draw:color-mode='standard'/>" . " </style:style>" . " <style:style style:name='imageleft' style:family='graphic' style:parent-style-name='Graphics'>" . " <style:graphic-properties style:wrap='right' style:horizontal-pos='left' style:horizontal-rel='paragraph' style:mirror='none' fo:clip='rect(0in 0in 0in 0in)' draw:luminance='0%' draw:contrast='0%' draw:red='0%' draw:green='0%' draw:blue='0%' draw:gamma='100%' draw:color-inversion='false' draw:image-opacity='100%' draw:color-mode='standard'/>" . " </style:style>" . " <style:style style:name='imageright' style:family='graphic' style:parent-style-name='Graphics'>" . " <style:graphic-properties style:wrap='left' style:horizontal-pos='right' style:horizontal-rel='paragraph' style:mirror='none' fo:clip='rect(0in 0in 0in 0in)' draw:luminance='0%' draw:contrast='0%' draw:red='0%' draw:green='0%' draw:blue='0%' draw:gamma='100%' draw:color-inversion='false' draw:image-opacity='100%' draw:color-mode='standard'/>" . " </style:style>" . " <style:style style:name='T1' style:family='text'>" . " <style:text-properties fo:font-weight='bold' style:font-weight-asian='bold' style:font-weight-complex='bold'/>" . " </style:style>" . " <style:style style:name='T2' style:family='text'>" . " <style:text-properties fo:font-style='italic' style:font-style-asian='italic' style:font-style-complex='italic'/>" . " </style:style>" . " </office:automatic-styles>" . " <office:body>" . " <office:text>";
$bodyXML = "";
// Add body contents
foreach ($this->DocumentArray as $element) {
$bodyXML .= $this->handleElement($element);
}
// Handle charset conversion if needed
$charset = 'UTF-8';
$codec = eZTextCodec::instance(false, $charset);
$bodyXML = $codec->convertString($bodyXML);
$contentXML .= $bodyXML;
// Add the content end
$contentXML .= "</office:text></office:body></office:document-content>";
file_put_contents($this->OOExportDir . "content.xml", $contentXML);
// Write the manifest file
$manifestXML = "<?xml version='1.0' encoding='UTF-8'?>" . "<!DOCTYPE manifest:manifest PUBLIC '-//OpenOffice.org//DTD Manifest 1.0//EN' 'Manifest.dtd'>" . "<manifest:manifest xmlns:manifest='urn:oasis:names:tc:opendocument:xmlns:manifest:1.0'>" . "<manifest:file-entry manifest:media-type='application/vnd.oasis.opendocument.text' manifest:full-path='/'/>" . "<manifest:file-entry manifest:media-type='application/vnd.sun.xml.ui.configuration' manifest:full-path='Configurations2/'/>" . "<manifest:file-entry manifest:media-type='' manifest:full-path='Pictures/'/>" . "<manifest:file-entry manifest:media-type='text/xml' manifest:full-path='content.xml'/>" . "<manifest:file-entry manifest:media-type='text/xml' manifest:full-path='styles.xml'/>" . "<manifest:file-entry manifest:media-type='text/xml' manifest:full-path='meta.xml'/>" . "<manifest:file-entry manifest:media-type='' manifest:full-path='Thumbnails/'/>" . "<manifest:file-entry manifest:media-type='text/xml' manifest:full-path='settings.xml'/>";
// Do not include the thumnail file.
// "<manifest:file-entry manifest:media-type='' manifest:full-path='Thumbnails/thumbnail.png'/>" .
foreach ($this->ImageFileArray as $imageFile) {
$manifestXML .= "<manifest:file-entry manifest:media-type='' manifest:full-path='{$imageFile}'/>\n";
}
$manifestXML .= "</manifest:manifest>";
file_put_contents($this->OOExportDir . "META-INF/manifest.xml", $manifestXML);
$fileName = $this->OORootDir . "ootest.odt";
$zipArchive = ezcArchive::open($fileName, ezcArchive::ZIP);
$zipArchive->truncate();
$prefix = $this->OOExportDir;
$fileList = array();
eZDir::recursiveList($this->OOExportDir, $this->OOExportDir, $fileList);
foreach ($fileList as $fileInfo) {
$path = $fileInfo['type'] === 'dir' ? $fileInfo['path'] . '/' . $fileInfo['name'] . '/' : $fileInfo['path'] . '/' . $fileInfo['name'];
$zipArchive->append(array($path), $prefix);
}
$zipArchive->close();
// Clean up
eZDir::recursiveDelete($this->OOExportDir);
eZDir::recursiveDelete($this->OOTemplateDir);
// Clean up temporary image files if any
$fileHandler = eZClusterFileHandler::instance();
foreach ($this->SourceImageArray as $sourceImageFile) {
$fileHandler->fileDeleteLocal($sourceImageFile);
}
return $fileName;
}
示例2: exportToArchive
function exportToArchive($archivePath)
{
$temporaryExportPath = eZPackage::temporaryExportPath();
$tempPath = $temporaryExportPath . '/' . $this->attribute('name');
$this->removeFiles($tempPath);
// Create package temp dir and copy package's XML file there
$this->storePackageFile($tempPath, false);
// Copy package's directories
$directoryList = array($this->documentDirectory(), $this->filesDirectory(), $this->simpleFilesDirectory(), $this->settingsDirectory());
$installItems = $this->Parameters['install'];
foreach ($installItems as $installItem) {
if (!in_array($installItem['sub-directory'], $directoryList)) {
$directoryList[] = $installItem['sub-directory'];
}
}
$path = $this->path();
foreach ($directoryList as $dirName) {
$destDir = $tempPath;
$dir = $path . '/' . $dirName;
if (file_exists($dir)) {
eZDir::copy($dir, $destDir);
}
}
$tarArchivePath = $temporaryExportPath . '/archive.tmp';
$tarArchive = ezcArchive::open($tarArchivePath, ezcArchive::TAR_USTAR);
$tarArchive->truncate();
$prefix = $tempPath . '/';
$fileList = array();
eZDir::recursiveList($tempPath, $tempPath, $fileList);
foreach ($fileList as $fileInfo) {
$path = $fileInfo['type'] === 'dir' ? $fileInfo['path'] . '/' . $fileInfo['name'] . '/' : $fileInfo['path'] . '/' . $fileInfo['name'];
$tarArchive->append(array($path), $prefix);
}
$tarArchive->close();
copy($tarArchivePath, "compress.zlib://{$archivePath}");
unlink($tarArchivePath);
$this->removeFiles($tempPath);
return $archivePath;
}
示例3: addExtension
static function addExtension( $package, $extensionName )
{
$siteINI = eZINI::instance();
$extensionDir = $siteINI->variable( 'ExtensionSettings', 'ExtensionDirectory' );
$fileList = array();
$sourceDir = $extensionDir . '/' . $extensionName;
$targetDir = $package->path() . '/ezextension';
eZDir::mkdir( $targetDir, false, true );
eZDir::copy( $sourceDir, $targetDir );
eZDir::recursiveList( $targetDir, '', $fileList );
$doc = new DOMDocument;
$packageRoot = $doc->createElement( 'extension' );
$packageRoot->setAttribute( 'name', $extensionName );
foreach( $fileList as $file )
{
$fileNode = $doc->createElement( 'file' );
$fileNode->setAttribute( 'name', $file['name'] );
if ( $file['path'] )
$fileNode->setAttribute( 'path', $file['path'] );
$fullPath = $targetDir . $file['path'] . '/' . $file['name'];
$fileNode->setAttribute( 'md5sum', $package->md5sum( $fullPath ) );
if ( $file['type'] == 'dir' )
$fileNode->setAttribute( 'type', 'dir' );
$packageRoot->appendChild( $fileNode );
unset( $fileNode );
}
$filename = 'extension-' . $extensionName;
$package->appendInstall( 'ezextension', false, false, true,
$filename, 'ezextension',
array( 'content' => $packageRoot ) );
$package->appendInstall( 'ezextension', false, false, false,
$filename, 'ezextension',
array( 'content' => false ) );
}
示例4: createSiteAccess
function createSiteAccess( $params )
{
$srcSiteaccess = $params['src']['siteaccess'];
$dstSiteaccess = $params['dst']['siteaccess'];
$dstSettings = isset( $params['dst']['settings'] ) ? $params['dst']['settings'] : array();
// Create the siteaccess directory
$srcSiteaccessDir = "settings/siteaccess/" . $srcSiteaccess;
$dstSiteaccessDir = "settings/siteaccess/" . $dstSiteaccess;
eZDir::mkdir( $dstSiteaccessDir, false, true );
eZDir::copy( $srcSiteaccessDir, $dstSiteaccessDir, false, true );
// Update settings
foreach ( $dstSettings as $iniFile => $settingGroups )
{
$ini = eZINI::instance( $iniFile . ".append.php", $dstSiteaccessDir, null, false, null, true );
foreach ( $settingGroups as $settingGroup => $settings )
{
foreach ( $settings as $name => $value )
{
$ini->setVariable( $settingGroup, $name, $value );
}
}
$ini->save( false, false, false, false, true, true );
unset( $ini );
}
// Create roles
$role = eZRole::fetchByName( "Anonymous" );
$role->appendPolicy( "user", "login", array( "SiteAccess" => array( eZSys::ezcrc32( $dstSiteaccess ) ) ) );
$role->store();
}