PHP İle Tüm Klasör Ve Dosya İçeriğini Kopyalama
- 8,304 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...
