Recursive function for copy of multilevel folder is not working.
Ben yeni klasöre tüm mulitilevel klasörünü kopyalamak için bir kodu var.
Ama arada ben aşağıdaki kodu görmek, doğru yolu tanıma problemi olduğunu hissediyorum ..
<?php
$source = '/var/www/html/pranav_test';
$destination = '/var/www/html/parth';
copy_recursive_dirs($source, $destination);
function copy_recursive_dirs($dirsource, $dirdest)
{
// recursive function to copy
// all subdirectories and contents:
if(is_dir($dirsource))
{
$dir_handle=opendir($dirsource);
}
if(!is_dir($dirdest))
{
mkdir($dirdest, 0777);
}
while($file=readdir($dir_handle))
{/*echo "<pre>";
print_r($file);*/
if($file!="." && $file!="..")
{
if(!is_dir($dirsource.DIRECTORY_SEPARATOR.$file))
{
copy ($dirsource.DIRECTORY_SEPARATOR.$file, $dirdest.DIRECTORY_SEPARATOR.$dirsource.DIRECTORY_SEPARATOR.$file);
}
else{
copy_recursive_dirs($dirsource.DIRECTORY_SEPARATOR.$file, $dirdest);
}
}
}
closedir($dir_handle);
return true;
}
?>
döngü şartının gibi bir kopya işlevi vardır, ama burada hedef için uygulanan yol doğru değilse yukarıdaki kod, I de basename fonksiyonu ile denedim .. ama .. aşağıda beklenen sonuç var vermedi eğer döngü i çıkışını açıklayan açıklama ile bahsediyorum ...
if(!is_dir($dirsource.DIRECTORY_SEPARATOR.$file))
{
$basefile = basename($dirsource.DIRECTORY_SEPARATOR.$file);//it gives the file name
echo "Pranav<br>".$dirdest.DIRECTORY_SEPARATOR.$dirsource.DIRECTORY_SEPARATOR.$file;//it outputs for example "/var/www/html/parth//var/www/html/pranav_test/media/system/js/caption.js" which is not correct..
copy ($dirsource.DIRECTORY_SEPARATOR.$file, $dirdest.DIRECTORY_SEPARATOR.$dirsource.DIRECTORY_SEPARATOR.$file);
}
yukarıda gösterildiği gibi beklediğim yolu kopyalanacak dosya ve klasörleri alınamıyor .. işlevi doğru yolu yerleştirmek için kılavuz beni lütfen ....