Для копирования папки и файла в php я использую этот цикл:
if(is_dir($_POST['copyfile'])) {
$copyfolder = recurse_copy($src_folder,$dest_folder);
if( $copyfolder) {
echo 'succeed-folder';
exit;
}
else {
echo 'failed-folder';
exit;
}
}
else {
$copy = copy( $src_file_url, $dest_file );
if($copy) {
echo 'succeed-file';
exit;
}
else {
echo 'failed-file';
exit;
}
}
При копировании папки вместо файла я проверяю это с помощью: if(is_dir($_POST['copyfile']))
В случае, если это действительно папка, она правильно копирует файлы в папке, но выдает мне эхо: failed-folder
Так что должно быть что-то не так с циклом. Что не так с петлей? Я только хочу различить, если folder
или file
был скопирован с эхом
Это функция:
function recurse_copy($src_folder,$dest_folder ) {
$copydir = opendir($src_folder);
while(false !== ( $folder = readdir($copydir)) ) {
if (( $folder != '.' ) && ( $folder != '..' )) {
if ( is_dir($src_folder . '/' . $folder) ) {
recurse_copy($src_folder. '/' . $folder,$dest_folder . '/' . $folder);
}
else {
copy($src_folder. '/' . $folder , $dest_folder . '/' . $folder);
}
}
}
closedir($copydir);
}