Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function copyIfUnique( $relPathOffset, $source, $destination, &$checksumArray ) {
- foreach ( scandir( $source ) as $name ) {
- if ( $name === '.' || $name === '..' ) {
- continue;
- }
- $file = $source . DIRECTORY_SEPARATOR . $name;
- if ( is_dir( $file ) ) {
- copyIfUnique( $relPathOffset, $file, $destination, $checksumArray );
- } else {
- $checksum = md5_file( $file );
- if ( ! isset( $checksumArray[$checksum] ) ) {
- $checksumArray[$checksum] = 1;
- $relDir = trim( substr( dirname( $file ), $relPathOffset ), '\\/' );
- if ( ! file_exists( $relDir ) ) {
- mkdir( $relDir, 0777, true );
- }
- copy( $file, $destination . DIRECTORY_SEPARATOR . $relDir . $name );
- }
- }
- }
- }
- function loadChecksums( $directory, &$checksumArray ) {
- foreach ( scandir( $directory ) as $name ) {
- if ( $name === '.' || $name === '..' ) {
- continue;
- }
- $file = $directory . DIRECTORY_SEPARATOR . $name;
- if ( is_dir( $file ) ) {
- loadChecksums( $file, $checksumArray );
- } else {
- $checksum = md5_file( $file );
- if ( ! isset( $checksumArray[$checksum] ) ) {
- $checksumArray[$checksum] = 1;
- }
- }
- }
- }
- $checksumArray = array();
- loadChecksums( '/mappa/ahova/masolja/a/fajlokat', $checksumArray );
- copyIfUnique( strlen( '/mappa/utvonala/ahol/vannak' ), '/mappa/utvonala/ahol/vannak', '/mappa/ahova/masolja/a/fajlokat', $checksumArray );
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement