|
|
|
| доброго времени суток
подскажите как скопировать директорию со всеми вложеными файлами и директориями??? | |
|
|
|
|
|
|
|
для: m@rchello
(24.05.2008 в 12:19)
| | Я так понял, что это нужно сделать средствами PHP ))
Вот есть такая функция, написана не мною, но выложена на свободное скачивание и использование:
copy_u($src,$dest) - копирует папку или файл $src в указанное место $dest. Заметьте, что, естественно, в качестве $dest нужно указывать не папку, в которую нужно скопировать $src, а папку, которая должна в результате этого получиться. То же самое касается и файлов.
<?php
function copy_u($src,$dest)
{
if(!file_exists($src)) return false;
if(is_file($src)) return copy($src,$dest);
$src=realpath($src).'/';
$dest=realpath($dest).'/';
if(substr($dest,0,strlen($src))==$src) return false;
$error=false;
if(!mkdir($dest,0777)) $error=true;
$dh=opendir($src);
while(false!==($f=readdir($dh)))
{
if($f=='.' || $f=='..') continue;
if(!copy_u($src.'/'.$f,$dest.'/'.$f)) $error=true;
}
closedir($dh);
return !$error;
}
?>
|
Используйте) | |
|
|
|
|
|
|
|
для: FireTiger
(24.05.2008 в 16:44)
| | Вот может вам еще понадобится функция удаления папки со всеми вложенными файлами и директориями:
remove_u($dir) - удаляет файл или папку $dir (папка может и не быть пустой). Постфикс «_u» у функций обозначает «universal» - универсальный, не зависящий от того, папка это или файл, работающий всегда.
<?php
function remove_u($dir)
{
if(is_file($dir)) return unlink($dir);
$dh=opendir($dir);
while(false!==($file=readdir($dh)))
{
if($file=='.'||$file=='..') continue;
remove_u($dir."/".$file);
}
closedir($dh);
return rmdir($dir);
}
?>
|
| |
|
|
|
|
|
|
|
для: FireTiger
(24.05.2008 в 16:47)
| | спасибо! | |
|
|
|