ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
PHPExcel_Shared_File Class Reference
+ Collaboration diagram for PHPExcel_Shared_File:

Static Public Member Functions

static setUseUploadTempDirectory ($useUploadTempDir=FALSE)
 Set the flag indicating whether the File Upload Temp directory should be used for temporary files. More...
 
static getUseUploadTempDirectory ()
 Get the flag indicating whether the File Upload Temp directory should be used for temporary files. More...
 
static file_exists ($pFilename)
 Verify if a file exists. More...
 
static realpath ($pFilename)
 Returns canonicalized absolute pathname, also for ZIP archives. More...
 
static sys_get_temp_dir ()
 Get the systems temporary directory. More...
 

Static Protected Attributes

static $_useUploadTempDirectory = FALSE
 

Detailed Description

Definition at line 36 of file File.php.

Member Function Documentation

◆ file_exists()

static PHPExcel_Shared_File::file_exists (   $pFilename)
static

Verify if a file exists.

Parameters
string$pFilenameFilename
Returns
bool

Definition at line 73 of file File.php.

73 {
74 // Sick construction, but it seems that
75 // file_exists returns strange values when
76 // doing the original file_exists on ZIP archives...
77 if ( strtolower(substr($pFilename, 0, 3)) == 'zip' ) {
78 // Open ZIP file and verify if the file exists
79 $zipFile = substr($pFilename, 6, strpos($pFilename, '#') - 6);
80 $archiveFile = substr($pFilename, strpos($pFilename, '#') + 1);
81
82 $zip = new ZipArchive();
83 if ($zip->open($zipFile) === true) {
84 $returnValue = ($zip->getFromName($archiveFile) !== false);
85 $zip->close();
86 return $returnValue;
87 } else {
88 return false;
89 }
90 } else {
91 // Regular file_exists
92 return file_exists($pFilename);
93 }
94 }
static file_exists($pFilename)
Verify if a file exists.
Definition: File.php:73

References file_exists().

Referenced by PHPExcel_Writer_Excel2007_ContentTypes\_getImageMimeType(), file_exists(), realpath(), and sys_get_temp_dir().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUseUploadTempDirectory()

static PHPExcel_Shared_File::getUseUploadTempDirectory ( )
static

Get the flag indicating whether the File Upload Temp directory should be used for temporary files.

Returns
boolean Use File Upload Temporary directory (true or false)

Definition at line 62 of file File.php.

62 {
64 } // function getUseUploadTempDirectory()
static $_useUploadTempDirectory
Definition: File.php:44

References $_useUploadTempDirectory.

◆ realpath()

static PHPExcel_Shared_File::realpath (   $pFilename)
static

Returns canonicalized absolute pathname, also for ZIP archives.

Parameters
string$pFilename
Returns
string

Definition at line 102 of file File.php.

102 {
103 // Returnvalue
104 $returnValue = '';
105
106 // Try using realpath()
107 if (file_exists($pFilename)) {
108 $returnValue = realpath($pFilename);
109 }
110
111 // Found something?
112 if ($returnValue == '' || ($returnValue === NULL)) {
113 $pathArray = explode('/' , $pFilename);
114 while(in_array('..', $pathArray) && $pathArray[0] != '..') {
115 for ($i = 0; $i < count($pathArray); ++$i) {
116 if ($pathArray[$i] == '..' && $i > 0) {
117 unset($pathArray[$i]);
118 unset($pathArray[$i - 1]);
119 break;
120 }
121 }
122 }
123 $returnValue = implode('/', $pathArray);
124 }
125
126 // Return
127 return $returnValue;
128 }
static realpath($pFilename)
Returns canonicalized absolute pathname, also for ZIP archives.
Definition: File.php:102

References file_exists(), and realpath().

Referenced by PHPExcel_Reader_Excel2007\_getFromZipArchive(), PHPExcel_Reader_Excel2007\listWorksheetInfo(), PHPExcel_Reader_Excel2007\load(), realpath(), and sys_get_temp_dir().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setUseUploadTempDirectory()

static PHPExcel_Shared_File::setUseUploadTempDirectory (   $useUploadTempDir = FALSE)
static

Set the flag indicating whether the File Upload Temp directory should be used for temporary files.

Parameters
boolean$useUploadTempDirUse File Upload Temporary directory (true or false)

Definition at line 52 of file File.php.

52 {
53 self::$_useUploadTempDirectory = (boolean) $useUploadTempDir;
54 } // function setUseUploadTempDirectory()

◆ sys_get_temp_dir()

static PHPExcel_Shared_File::sys_get_temp_dir ( )
static

Get the systems temporary directory.

Returns
string

Definition at line 135 of file File.php.

136 {
137 if (self::$_useUploadTempDirectory) {
138 // use upload-directory when defined to allow running on environments having very restricted
139 // open_basedir configs
140 if (ini_get('upload_tmp_dir') !== FALSE) {
141 if ($temp = ini_get('upload_tmp_dir')) {
142 if (file_exists($temp))
143 return realpath($temp);
144 }
145 }
146 }
147
148 // sys_get_temp_dir is only available since PHP 5.2.1
149 // http://php.net/manual/en/function.sys-get-temp-dir.php#94119
150 if ( !function_exists('sys_get_temp_dir')) {
151 if ($temp = getenv('TMP') ) {
152 if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); }
153 }
154 if ($temp = getenv('TEMP') ) {
155 if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); }
156 }
157 if ($temp = getenv('TMPDIR') ) {
158 if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); }
159 }
160
161 // trick for creating a file in system's temporary dir
162 // without knowing the path of the system's temporary dir
163 $temp = tempnam(__FILE__, '');
164 if (file_exists($temp)) {
165 unlink($temp);
166 return realpath(dirname($temp));
167 }
168
169 return null;
170 }
171
172 // use ordinary built-in PHP function
173 // There should be no problem with the 5.2.4 Suhosin realpath() bug, because this line should only
174 // be called if we're running 5.2.1 or earlier
175 return realpath(sys_get_temp_dir());
176 }
static sys_get_temp_dir()
Get the systems temporary directory.
Definition: File.php:135

References file_exists(), realpath(), and sys_get_temp_dir().

Referenced by PHPExcel_Shared_XMLWriter\__construct(), PHPExcel_Shared_OLE_PPS_Root\__construct(), PHPExcel_Writer_PDF_Core\__construct(), PHPExcel_CachedObjectStorage_DiscISAM\__construct(), PHPExcel_Writer_HTML\_writeChartInCell(), PHPExcel_Shared_ZipArchive\open(), PHPExcel_Shared_OLE_PPS_Root\save(), PHPExcel_Writer_Excel2007\save(), PHPExcel_Writer_OpenDocument\save(), and sys_get_temp_dir().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $_useUploadTempDirectory

PHPExcel_Shared_File::$_useUploadTempDirectory = FALSE
staticprotected

Definition at line 44 of file File.php.

Referenced by getUseUploadTempDirectory().


The documentation for this class was generated from the following file: