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 ...

One Comment

  1. Sinan diyor ki:

    Teşekkürler güzel bilgiler.

Leave a Reply

*
Gereksiz Yorumlari Engellemek icin bu uygulamaya 3 sn katlanmak zorundasiniz .
Buraya Tiklayin

Click to hear an audio file of the anti-spam word