API16:JFile/copy
From Joomla! Documentation
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.
Contents |
Description
Copies a file
Syntax
copy($src, $dest, $path=null, $use_streams=false)
| Parameter Name | Default Value | Description |
|---|---|---|
| $src | $src The path to the source file | |
| $dest | $dest The path to the destination file | |
| $path | null | $path An optional base path to prefix to the file names |
| $use_streams | false |
Returns
boolean True on success
Defined in
libraries/joomla/filesystem/file.php
Importing
jimport( 'joomla.filesystem.file' );
Source Body
function copy($src, $dest, $path = null, $use_streams=false) { // Prepend a base path if it exists if ($path) { $src = JPath::clean($path.DS.$src); $dest = JPath::clean($path.DS.$dest); } //Check src path if (!is_readable($src)) { JError::raiseWarning(21, 'JFile::copy: ' . JText::_('Cannot find or read file') . ": '$src'"); return false; } if($use_streams) { $stream =& JFactory::getStream(); if(!$stream->copy($src, $dest)) { JError::raiseWarning(21, 'JFile::copy('. $src .', '. $dest .'): '. $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']); // If the parent folder doesn't exist we must create it if (!file_exists(dirname($dest))) { jimport('joomla.filesystem.folder'); JFolder::create(dirname($dest)); } //Translate the destination path for the FTP account $dest = JPath::clean(str_replace(JPATH_ROOT, $FTPOptions['root'], $dest), '/'); if (!$ftp->store($src, $dest)) { // FTP connector throws an error return false; } $ret = true; } else { if (!@ copy($src, $dest)) { JError::raiseWarning(21, JText::_('COPY_FAILED')); return false; } $ret = true; } return $ret; } }
[Edit See Also] SeeAlso:JFile/copy
Examples
<CodeExamplesForm />
