PHP İle Tüm Klasör Ve Dosya İçeriğini Kopyalama
- 7,755 Kez Okundu
- PHP & MySQL
- 3 Yorum
- 2017-05-13 02:51:15
Bazen öyle bir zaman gelir ki tek tek dosya kopyalamak yerine içindekiler dahil tüm klasörü kopyalamak gereği duyarız . Faydası olabilmesi umuduyla sizlerle de açıklamalarını kodların arasına yazdığım fonksiyonu sizlerle paylaşıyorum.
function HerseyiKopyala($kaynak, $hedef) { // HerseyiKopyala Fonksiyonunun içerisine kaynak ve hedef şeklinde iki değişken gönderiyoruz. if ( is_dir( $kaynak ) ) { // kaynak olarak belirtilen konum dizin olduğu doğrulunaıyor if (!file_exists($hedef)) { @mkdir( $hedef ); } // hedef dizin yoksa oluşturuyoruz $Dizin = dir( $kaynak ); // kaynak dizinini açıyoruz while ( FALSE !== ( $giris = $Dizin->read() ) ) { // dizin içerisini döngüye alıp tek tek okuyoruz if ( $giris == '.' || $giris == '..' ) { // dizin konumlarını kontrol ediyoruz continue; } $Giris = $kaynak . '/' . $giris; // gelen dizin konumunu değişkene atıyoruz if ( is_dir( $Giris ) ) { // Giris olarak belirtilen konum dizin olduğu doğrulunaıyor HerseyiKopyala( $Giris, $hedef . '/' . $giris ); // fonksiyonu yeniden çağırıyoruz continue; } copy( $Giris, $hedef . '/' . $giris ); // kontrol ettiğimiz dizine okuduğumuz dosyaları kopyalıyoruz } $Dizin->close(); // dizin okumayı sonlandırıyoruz }else { copy( $kaynak, $hedef ); // belirtilen kaynak değişkeni dizin değilse kopyalama işlemini gerçekleştir } }
Fonksiyonumuzu bu şekilde oluşturduk , kullanmak için aşağıdaki yolu izlemeniz yeterli;
$kaynak ="../css/style.css"; //tek dosya kopyalama $kaynak ="../css/"; //tüm klasörü kopyalama $hedef ="plugins/styles/"; //hedef dizini belirtiyoruz HerseyiKopyala($kaynak, $hedef); //değişkenlerimizi fonksiyona gönderiyoruz
Sağlıcakla Kalın...