file : copy can copy directory or files
git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@3000 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
16
file.php
16
file.php
@@ -260,8 +260,8 @@ class file
|
|||||||
return $rc;
|
return $rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Copy a file
|
/** Copy a file or a directory
|
||||||
* @param string $oldname The file to rename
|
* @param string $oldname The file to copy
|
||||||
* @param string $newname The new name of the file. It will be
|
* @param string $newname The new name of the file. It will be
|
||||||
* overwrited if it already exists
|
* overwrited if it already exists
|
||||||
* @return bool
|
* @return bool
|
||||||
@@ -273,7 +273,19 @@ class file
|
|||||||
$newname = $this->realpath ($newname);
|
$newname = $this->realpath ($newname);
|
||||||
$this->checkPathRO (dirname ($oldname));
|
$this->checkPathRO (dirname ($oldname));
|
||||||
$this->checkPathRW (dirname ($newname));
|
$this->checkPathRW (dirname ($newname));
|
||||||
|
if (is_dir ($oldname))
|
||||||
|
{
|
||||||
|
// Copy directory structure
|
||||||
|
if (! $this->file_exists ($newname))
|
||||||
|
$this->mkdir ($newname);
|
||||||
|
$files = $this->scandirNotSorted ($oldname);
|
||||||
|
foreach ($files as $file)
|
||||||
|
$this->copy ("$oldname/$file", "$newname/$file");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$rc = copy ($oldname, $newname);
|
$rc = copy ($oldname, $newname);
|
||||||
|
}
|
||||||
$this->debug (1, "copy ($oldname, $newname) => $rc");
|
$this->debug (1, "copy ($oldname, $newname) => $rc");
|
||||||
return $rc;
|
return $rc;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user