API15:JFile/copy
From Joomla! Documentation
Description
Copies a file
[<! removed edit link to red link >]
<! removed transcluded page call, red link never existed >
Syntax
copy($src, $dest, $path=null)
| 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 |
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)
{
// Initialize variables
jimport('joomla.client.helper');
$FTPOptions = JClientHelper::getCredentials('ftp');
// 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 ($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;
}
[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >
Examples
Code Examples