123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- function deldir($dir) {
- $dh = opendir($dir);
- while ($file = readdir($dh)) {
- if ($file != '.' && $file != '..') {
- $fullpath = $dir.'/'.$file;
- if (!is_dir($fullpath)) {
- unlink($fullpath);
- } else {
- deldir($fullpath);
- }
- }
- }
- closedir($dh);
- if (rmdir($dir)) {
- return true;
- }
- return false;
- }
- function rcopy($source, $dest) {
-
- if (!file_exists($source)) {
-
- return false;
- }
- if (is_dir($source)) {
-
-
-
- if (strrpos($source, '/') == sizeof($source) - 1) {
- $source = substr($source, 0, size_of($source) - 1);
- }
- if (strrpos($dest, '/') == sizeof($dest) - 1) {
- $dest = substr($dest, 0, size_of($dest) - 1);
- }
- if (!is_dir($dest)) {
- $res = @mkdir($dest, api_get_permissions_for_new_directories());
- if ($res !== false) {
- return true;
- } else {
-
- if (rcopy(substr($source, 0, strrpos($source, '/')), substr($dest, 0, strrpos($dest, '/')))) {
- return @mkdir($dest, api_get_permissions_for_new_directories());
- } else {
- return false;
- }
- }
- }
- return true;
- } else {
-
-
- if (!@ copy($source, $dest)) {
-
- $res = rcopy(dirname($source), dirname($dest));
- if ($res === true) {
-
- return @ copy($source, $dest);
- } else {
- return false;
-
- }
- } else {
-
- return true;
- }
- }
- }
|