Overview

Packages

  • PHP
  • PHPWord

Classes

  • PHPWord
  • PHPWord_Autoloader
  • PHPWord_DocumentProperties
  • PHPWord_HashTable
  • PHPWord_IOFactory
  • PHPWord_Media
  • PHPWord_Section
  • PHPWord_Section_Footer
  • PHPWord_Section_Footer_PreserveText
  • PHPWord_Section_Header
  • PHPWord_Section_Image
  • PHPWord_Section_Link
  • PHPWord_Section_ListItem
  • PHPWord_Section_MemoryImage
  • PHPWord_Section_Object
  • PHPWord_Section_PageBreak
  • PHPWord_Section_Settings
  • PHPWord_Section_Table
  • PHPWord_Section_Table_Cell
  • PHPWord_Section_Table_Row
  • PHPWord_Section_Text
  • PHPWord_Section_TextBreak
  • PHPWord_Section_TextRun
  • PHPWord_Section_Title
  • PHPWord_Shared_Drawing
  • PHPWord_Shared_File
  • PHPWord_Shared_Font
  • PHPWord_Shared_String
  • PHPWord_Shared_XMLWriter
  • PHPWord_Shared_ZipStreamWrapper
  • PHPWord_Style
  • PHPWord_Style_Cell
  • PHPWord_Style_Font
  • PHPWord_Style_Image
  • PHPWord_Style_ListItem
  • PHPWord_Style_Paragraph
  • PHPWord_Style_Row
  • PHPWord_Style_Tab
  • PHPWord_Style_Table
  • PHPWord_Style_TableFull
  • PHPWord_Style_Tabs
  • PHPWord_Style_TOC
  • PHPWord_Template
  • PHPWord_TOC
  • PHPWord_Writer_ODText
  • PHPWord_Writer_ODText_Content
  • PHPWord_Writer_ODText_Manifest
  • PHPWord_Writer_ODText_Meta
  • PHPWord_Writer_ODText_Mimetype
  • PHPWord_Writer_ODText_Styles
  • PHPWord_Writer_ODText_WriterPart
  • PHPWord_Writer_RTF
  • PHPWord_Writer_Word2007
  • PHPWord_Writer_Word2007_Base
  • PHPWord_Writer_Word2007_ContentTypes
  • PHPWord_Writer_Word2007_DocProps
  • PHPWord_Writer_Word2007_Document
  • PHPWord_Writer_Word2007_DocumentRels
  • PHPWord_Writer_Word2007_Footer
  • PHPWord_Writer_Word2007_Header
  • PHPWord_Writer_Word2007_Rels
  • PHPWord_Writer_Word2007_Styles
  • PHPWord_Writer_Word2007_WriterPart

Interfaces

  • PHPWord_Writer_IWriter

Exceptions

  • PHPWord_Exception
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * PHPWord
 4:  *
 5:  * Copyright (c) 2013 PHPWord
 6:  *
 7:  * This library is free software; you can redistribute it and/or
 8:  * modify it under the terms of the GNU Lesser General Public
 9:  * License as published by the Free Software Foundation; either
10:  * version 2.1 of the License, or (at your option) any later version.
11:  *
12:  * This library is distributed in the hope that it will be useful,
13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15:  * Lesser General Public License for more details.
16:  *
17:  * You should have received a copy of the GNU Lesser General Public
18:  * License along with this library; if not, write to the Free Software
19:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
20:  *
21:  * @category   PHPWord
22:  * @package    PHPWord
23:  * @copyright  Copyright (c) 2013 PHPWord
24:  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
25:  * @version    0.7.0
26:  */
27: 
28: /**
29:  * Class PHPWord_Shared_File
30:  */
31: class PHPWord_Shared_File
32: {
33:     /**
34:      * Verify if a file exists
35:      *
36:      * @param    string $pFilename Filename
37:      * @return bool
38:      */
39:     public static function file_exists($pFilename)
40:     {
41:         // Sick construction, but it seems that
42:         // file_exists returns strange values when
43:         // doing the original file_exists on ZIP archives...
44:         if (strtolower(substr($pFilename, 0, 3)) == 'zip') {
45:             // Open ZIP file and verify if the file exists
46:             $zipFile = substr($pFilename, 6, strpos($pFilename, '#') - 6);
47:             $archiveFile = substr($pFilename, strpos($pFilename, '#') + 1);
48: 
49:             $zip = new ZipArchive();
50:             if ($zip->open($zipFile) === true) {
51:                 $returnValue = ($zip->getFromName($archiveFile) !== false);
52:                 $zip->close();
53:                 return $returnValue;
54:             } else {
55:                 return false;
56:             }
57:         } else {
58:             // Regular file_exists
59:             return file_exists($pFilename);
60:         }
61:     }
62: 
63:     /**
64:      * Returns canonicalized absolute pathname, also for ZIP archives
65:      *
66:      * @param string $pFilename
67:      * @return string
68:      */
69:     public static function realpath($pFilename)
70:     {
71:         // Returnvalue
72:         $returnValue = '';
73: 
74:         // Try using realpath()
75:         $returnValue = realpath($pFilename);
76: 
77:         // Found something?
78:         if ($returnValue == '' || is_null($returnValue)) {
79:             $pathArray = split('/', $pFilename);
80:             while (in_array('..', $pathArray) && $pathArray[0] != '..') {
81:                 for ($i = 0; $i < count($pathArray); ++$i) {
82:                     if ($pathArray[$i] == '..' && $i > 0) {
83:                         unset($pathArray[$i]);
84:                         unset($pathArray[$i - 1]);
85:                         break;
86:                     }
87:                 }
88:             }
89:             $returnValue = implode('/', $pathArray);
90:         }
91: 
92:         // Return
93:         return $returnValue;
94:     }
95: }
96: 
PHPWord API Docs API documentation generated by ApiGen 2.8.0