копиране на папка в друга папка

benjikt

Registered
Как е възможно с php да се копира дадена папка следователно със всички файлове вътре и после да се постави в друга папка без другите фаилове да се губят... :)
 
PHP:
function full_copy( $source, $target ) {
	if ( is_dir( $source ) ) {
		@mkdir( $target );
		$d = dir( $source );
		while ( FALSE !== ( $entry = $d->read() ) ) {
			if ( $entry == '.' || $entry == '..' ) {
				continue;
			}
			$Entry = $source . '/' . $entry; 
			if ( is_dir( $Entry ) ) {
				full_copy( $Entry, $target . '/' . $entry );
				continue;
			}
			copy( $Entry, $target . '/' . $entry );
		}
 
		$d->close();
	}else {
		copy( $source, $target );
	}
}
$source ='/home/nom3r1/public_html'; //папката + файловете , които ще копираме
$destination = '/home/benjikt/public_html/'; //в коя папка да се копират?
full_copy($source, $destination)

Примерно.. :)
 
Warning: copy(/bbcode/) [function.copy]: failed to open stream: No such file or directory in C:\xampp\htdocs\tem1\vv.php on line 20

PHP:
<?php
function full_copy( $source, $target ) {
        if ( is_dir( $source ) ) {
                @mkdir( $target );
                $d = dir( $source );
                while ( FALSE !== ( $entry = $d->read() ) ) {
                        if ( $entry == '.' || $entry == '..' ) {
                                continue;
                        }
                        $Entry = $source . '/' . $entry; 
                        if ( is_dir( $Entry ) ) {
                                full_copy( $Entry, $target . '/' . $entry );
                                continue;
                        }
                        copy( $Entry, $target . '/' . $entry );
                }
 
                $d->close();
        }else {
                copy( $source, $target );
        }
}
$source ='/bbcode/'; //папката + файловете , които ще копираме
$destination = '/copydir/'; //в коя папка да се копират?
full_copy($source, $destination)

?>
Искам да копирам цялото съдържание от папка bbcode в папка copydir
обаче виж какъв ларнинг дава ....
 
'щом ползваш windows, защо просто не си копираш на ръка всичко?

Иначе пробвай пътя да ти е така:

C:\xampp\htdocs\bbcode

C:\xampp\htdocs\copydir\
 
Все пак мерси за помоща ще трся друг начин .... този път не дава грешки но и не прави нищо :S:S:S
 
Код:
C:\xampp\htdocs\bbcode\
C:\xampp\htdocs\copydir\

или

Код:
C:/xampp/htdocs/bbcode/
C:/xampp/htdocs/copydir/

или

Код:
C:/xampp/htdocs/bbcode
C:/xampp/htdocs/copydir/

Хах, тоя windows колко го мразя..
 
уффф да е** стана само че има грешка в кода трябва да е така
PHP:
<?php
function full_copy( $source, $target ) {
        if ( is_dir( $source ) ) {
                @mkdir( $target );
                $d = dir( $source );
                while ( FALSE !== ( $entry = $d->read() ) ) {
                        if ( $entry == '.' || $entry == '..' ) {
                                continue;
                        }
                        $Entry = $source . '/' . $entry; 
                        if ( is_dir( $Entry ) ) {
                                full_copy( $Entry, $target . '/' . $entry );
                                continue;
                        }
                        copy( $Entry, $target . '/' . $entry );
                }
 
                $d->close();
        }else {
                copy( $source, $target );
        }
}
$source ='C:\xampp\htdocs\tem1\bbcode'; //папката + файловете , които ще копираме
$target = 'C:\xampp\htdocs\tem1\copydirr'; //в коя папка да се копират?
full_copy($source, $target)

?>
 
последните редове са неправилни .... трябва да е target .. и винаги трябва да се задава пълния път до папката :) ..... и мерси много за полоща
 

Back
Горе