MetaInf.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. class PHPExcel_Writer_OpenDocument_MetaInf extends PHPExcel_Writer_OpenDocument_WriterPart
  8. {
  9. /**
  10. * Write META-INF/manifest.xml to XML format
  11. *
  12. * @param PHPExcel $pPHPExcel
  13. * @return string XML Output
  14. * @throws PHPExcel_Writer_Exception
  15. */
  16. public function writeManifest(PHPExcel $pPHPExcel = null)
  17. {
  18. if (!$pPHPExcel) {
  19. $pPHPExcel = $this->getParentWriter()->getPHPExcel();
  20. }
  21. $objWriter = null;
  22. if ($this->getParentWriter()->getUseDiskCaching()) {
  23. $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
  24. } else {
  25. $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
  26. }
  27. // XML header
  28. $objWriter->startDocument('1.0', 'UTF-8');
  29. // Manifest
  30. $objWriter->startElement('manifest:manifest');
  31. $objWriter->writeAttribute('xmlns:manifest', 'urn:oasis:names:tc:opendocument:xmlns:manifest:1.0');
  32. $objWriter->writeAttribute('manifest:version', '1.2');
  33. $objWriter->startElement('manifest:file-entry');
  34. $objWriter->writeAttribute('manifest:full-path', '/');
  35. $objWriter->writeAttribute('manifest:version', '1.2');
  36. $objWriter->writeAttribute('manifest:media-type', 'application/vnd.oasis.opendocument.spreadsheet');
  37. $objWriter->endElement();
  38. $objWriter->startElement('manifest:file-entry');
  39. $objWriter->writeAttribute('manifest:full-path', 'meta.xml');
  40. $objWriter->writeAttribute('manifest:media-type', 'text/xml');
  41. $objWriter->endElement();
  42. $objWriter->startElement('manifest:file-entry');
  43. $objWriter->writeAttribute('manifest:full-path', 'settings.xml');
  44. $objWriter->writeAttribute('manifest:media-type', 'text/xml');
  45. $objWriter->endElement();
  46. $objWriter->startElement('manifest:file-entry');
  47. $objWriter->writeAttribute('manifest:full-path', 'content.xml');
  48. $objWriter->writeAttribute('manifest:media-type', 'text/xml');
  49. $objWriter->endElement();
  50. $objWriter->startElement('manifest:file-entry');
  51. $objWriter->writeAttribute('manifest:full-path', 'Thumbnails/thumbnail.png');
  52. $objWriter->writeAttribute('manifest:media-type', 'image/png');
  53. $objWriter->endElement();
  54. $objWriter->startElement('manifest:file-entry');
  55. $objWriter->writeAttribute('manifest:full-path', 'styles.xml');
  56. $objWriter->writeAttribute('manifest:media-type', 'text/xml');
  57. $objWriter->endElement();
  58. $objWriter->endElement();
  59. return $objWriter->getData();
  60. }
  61. }