Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F391468
smarty_internal_write_file.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
smarty_internal_write_file.php
View Options
<?php
/**
* Smarty write file plugin
*
* @package Smarty
* @subpackage PluginsInternal
* @author Monte Ohrt
*/
/**
* Smarty Internal Write File Class
*/
class
Smarty_Internal_Write_File
{
/**
* Writes file in a save way to disk
*
* @param string $_filepath complete filepath
* @param string $_contents file content
* @return boolean true
*/
public
static
function
writeFile
(
$_filepath
,
$_contents
,
$smarty
)
{
$old_umask
=
umask
(
0
);
$_dirpath
=
dirname
(
$_filepath
);
// if subdirs, create dir structure
if
(
$_dirpath
!==
'.'
&&
!
file_exists
(
$_dirpath
))
{
mkdir
(
$_dirpath
,
$smarty
->
_dir_perms
,
true
);
}
// write to tmp file, then move to overt file lock race condition
$_tmp_file
=
tempnam
(
$_dirpath
,
'wrt'
);
if
(!
file_put_contents
(
$_tmp_file
,
$_contents
))
{
umask
(
$old_umask
);
throw
new
Exception
(
"unable to write file {$_tmp_file}"
);
return
false
;
}
// remove original file
if
(
file_exists
(
$_filepath
))
unlink
(
$_filepath
);
// rename tmp file
rename
(
$_tmp_file
,
$_filepath
);
// set file permissions
chmod
(
$_filepath
,
$smarty
->
_file_perms
);
umask
(
$old_umask
);
return
true
;
}
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 22, 20:24 (1 d, 2 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25832
Default Alt Text
smarty_internal_write_file.php (1 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment