// Zip dosyasının adı
$zipFileName = 'dosyalarim.zip';
// Zip dosyasını açmak için ZipArchive sınıfını kullanıyoruz
$zip = new ZipArchive;
if ($zip->open($zipFileName) === TRUE) {
// Zip dosyasını aç
$zip->extractTo('./'); // Dosyaları mevcut dizine çıkart
$zip->close();
// Çıkartılan dosyaların isimlerini al
$extractedFiles = scandir('./');
// Her bir dosya için kontrol yap
foreach($extractedFiles as $extractedFile) {
if(is_file($extractedFile)) {
$destinationFile = './' . $extractedFile;
$sourceFile = './indirilen_dosyalar/' . $extractedFile;
if(file_exists($sourceFile)) {
// Eğer aynı isimde bir dosya varsa, üzerine yaz
copy($destinationFile, $sourceFile);
} else {
// Aynı isimde bir dosya yoksa, dosyayı indirilen dosya klasörüne taşı
rename($destinationFile, $sourceFile);
}
}
}
echo 'Dosyalar başarıyla çıkartıldı ve kopyalandı!';
} else {
echo 'Zip dosyası açılamadı!';
}Bu kod, öncelikle ZIP dosyasını açar ve dosyaları mevcut dizine çıkartır. Daha sonra, her bir dosya için kontrol yapar ve dosyanın indirilen konumda aynı isimde bir dosya olup olmadığını kontrol eder. Eğer aynı isimde bir dosya varsa, cikarilan dosya ile mevcut dosya arasındaki farklılıkları ortadan kaldırmak için mevcut dosyanın üzerine yazar. Eğer aynı isimde bir dosya yoksa, dosyayı indirilen dosya klasörüne taşır. Son olarak, işlemin başarılı olduğunu bildiren bir mesaj yazdırır.
Hocam makulse güncellemek amacıyla kullanılan sunucuya dosya indirme işlemi hakkındada bilgi verme şansınız var mı?