Php İle Dizin(Klasör) Kopyalama 2

Daha öncesinden sizlere şu adresten bir fonksiyon sunmuştum ve php ile klasör içindeki tüm dosyaları belirttiğiniz hedefe kopyalamanızı sağlıyordu . Şimdi ise oradaki uzun bulduğum fonksiyonun daha kısası hem kendim yazdım hemde başka bir yerden yine alıntı yaptım . Ve daha kısa bir fonksiyonla aynı işi yaptırmaya çalıştım .

İşte Fonksiyonlar : 

Benim Yazdığım Fonksiyon :

PHP:
  1. <?
  2. function DizinKopyala($yol,$remote){
  3.     $dizinac = opendir($yol);
  4.     while ( gettype ($dizin = readdir($dizinac) ) != boolean ) {
  5.         if ( is_dir("$yol/$dizin") ) {
  6.             if ( ($dizin != ".") AND ($dizin != "..") ) {
  7.                 # Dizinleri Olustur
  8.                 mkdir($remote."/".$dizin,0755,true);
  9.                 # Dizinleri Olusturma Bitti .
  10.                 DizinKopyala("$yol/$dizin",$remote."/$dizin/");
  11.                 ## Dosyalarida kopyala
  12.                 $dosyalara_bak = opendir("$yol");
  13.                 while ( gettype ($dosya = readdir($dosyalara_bak) ) != boolean ) {
  14.                     if ( is_file("$yol/$dosya") ) {
  15.                          copy("$yol/$dosya","$remote/$dosya");
  16.                     }
  17.                 }
  18.                 closedir ($dosyalara_bak);
  19.                 ## Dosyalarida kopyalan Bitis
  20.             }
  21.         }elseif( is_file("$yol/$dizin") ){
  22.             if ( ($dizin != ".") AND ($dizin != "..") ) {
  23.                   copy("$yol/$dizin","$remote/$dizin");
  24.                 }
  25.         }
  26.     }
  27.     closedir ($dizinac);
  28. } 
  29.  
  30. ?>

Alıntı Yaptığım Daha Kısa Fonksiyon :

PHP:
  1. <?
  2.   function DizinKopyala( $source, $target )
  3.     {
  4.         if ( is_dir( $source ) )
  5.         {
  6.             @mkdir( $target );
  7.            
  8.             $d = dir( $source );
  9.            
  10.             while ( FALSE !== ( $entry = $d->read() ) )
  11.             {
  12.                 if ( $entry == '.' || $entry == '..' )
  13.                 {
  14.                     continue;
  15.                 }
  16.                
  17.                 $Entry = $source . '/' . $entry;           
  18.                 if ( is_dir( $Entry ) )
  19.                 {
  20.                     DizinKopyala( $Entry, $target . '/' . $entry );
  21.                     continue;
  22.                 }
  23.                 copy( $Entry, $target . '/' . $entry );
  24.             }
  25.            
  26.             $d->close();
  27.         }else
  28.         {
  29.             copy( $source, $target );
  30.         }
  31.     }
  32.    
  33. ?>

Hadi Kolay Gelsin ...

62 views

One Comment

  1. Sinan diyor ki:

    Teşekkürler güzel bilgiler.

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word