ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
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.

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

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
+ 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  {
63  return self::$_useUploadTempDirectory;
64  } // function getUseUploadTempDirectory()

◆ 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.

References $i, and file_exists().

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

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
$i
Definition: disco.tpl.php:19
static file_exists($pFilename)
Verify if a file exists.
Definition: File.php:73
+ 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.

References file_exists(), and realpath().

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

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
static realpath($pFilename)
Returns canonicalized absolute pathname, also for ZIP archives.
Definition: File.php:102
static file_exists($pFilename)
Verify if a file exists.
Definition: File.php:73
+ 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.


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