Recursive copy undefined
I have a recursive copy function that should copy all files from a directory to another, but that gives an error. This is a function;
public function cpy($source, $dest){
if(is_dir($source)) {
$dir_handle=opendir($source);
while($file=readdir($dir_handle)){
if($file!="." && $file!=".."){
if(is_dir($source."/".$file)){
if(!is_dir($dest."/".$file)){
mkdir($dest."/".$file);
}
cpy($source."/".$file, $dest."/".$file);
} else {
copy($source."/".$file, $dest."/".$file);
}
}
}
closedir($dir_handle);
} else {
copy($source, $dest);
}
}
Specified error Fatal error: Call to undefined function cpy() in /var/www/Deployer/include/deployer.class.php on line 14
This function is also in the class.
+3
Core
source
to share
3 answers
Are you using any class? then you should use:
$this->cpy(...)
Or remove the public
infront of the function.
+2
Riad
source
to share
Use $this ->
public function cpy($source, $dest){
if(is_dir($source)) {
$dir_handle=opendir($source);
while($file=readdir($dir_handle)){
if($file!="." && $file!=".."){
if(is_dir($source."/".$file)){
if(!is_dir($dest."/".$file)){
mkdir($dest."/".$file);
}
$this->cpy($source."/".$file, $dest."/".$file);// use the $this keyword here
} else {
copy($source."/".$file, $dest."/".$file);
}
}
}
closedir($dir_handle);
} else {
copy($source, $dest);
}
}
+2
Surya
source
to share
This is probably because you are in class.
Try this instead:
self::cpy($source."/".$file, $dest."/".$file);
0
Brice favre
source
to share