JFile/write
From Joomla! Documentation
< API16:JFile
The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Description[edit]
Write contents to a file
<! removed transcluded page call, red link never existed >
Syntax[edit]
write($file, &$buffer, $use_streams=false)
Parameter Name | Default Value | Description |
---|---|---|
$file | $file The full file path | |
&$buffer | $buffer The buffer to write | |
$use_streams | false |
Returns[edit]
boolean True on success
Defined in[edit]
libraries/joomla/filesystem/file.php
Importing[edit]
jimport( 'joomla.filesystem.file' );
Source Body[edit]
function write($file, &$buffer, $use_streams=false)
{
// If the destination directory doesn't exist we need to create it
if (!file_exists(dirname($file))) {
jimport('joomla.filesystem.folder');
JFolder::create(dirname($file));
}
if($use_streams) {
$stream =& JFactory::getStream();
$stream->set('chunksize', (1024 * 1024 * 1024)); // beef up the chunk size to a meg
if(!$stream->writeFile($file, $buffer)) {
JError::raiseWarning(21, 'JFile::write('. $file.'): '. $stream->getError());
return false;
}
return true;
} else {
// Initialise variables.
jimport('joomla.client.helper');
$FTPOptions = JClientHelper::getCredentials('ftp');
if ($FTPOptions['enabled'] == 1) {
// Connect the FTP client
jimport('joomla.client.ftp');
$ftp = & JFTP::getInstance($FTPOptions['host'], $FTPOptions['port'], null, $FTPOptions['user'], $FTPOptions['pass']);
// Translate path for the FTP account and use FTP write buffer to file
$file = JPath::clean(str_replace(JPATH_ROOT, $FTPOptions['root'], $file), '/');
$ret = $ftp->write($file, $buffer);
} else {
$file = JPath::clean($file);
$ret = file_put_contents($file, $buffer);
}
return $ret;
}
}
<! removed transcluded page call, red link never existed >
Examples[edit]
Code Examples[edit]