Zip dosya islemleri
11
●216
- 20-02-2023, 08:36:53Elimde bir zip dosyasi var, bu dosyası indirtme islemi yapiyorum zipi disari cikarttigimda zipden cikan dosyalar ile mevcut indirilen konumda ayni dosya varsa cikarilan dosyanin mevcut dosya ile degismesini istiyorum bu konuda bilgi verecek arkadas varmi acaba
- 20-02-2023, 11:39:47
// 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. - 20-02-2023, 14:30:50Hocam cook makbule gecti mantigi bile yeterliydi ama bu zamanda baya tasarruf ettirecek beni 🙏🙏
- 20-02-2023, 19:13:16ardakarakas adlı üyeden alıntı: mesajı görüntüle
Hocam makulse güncellemek amacıyla kullanılan sunucuya dosya indirme işlemi hakkındada bilgi verme şansınız var mı? - 20-02-2023, 19:36:49PHP ile sunucudan dosya indirmeyi mi kastediyorsunuz ?sheeflamarck adlı üyeden alıntı: mesajı görüntüle
- 20-02-2023, 20:02:09hocam aslinda dosya guncellemesi olarak kullanilacak yani bir baska sunucudan hedef sunucuya diger kontroller bittide suan tek o kaldiardakarakas adlı üyeden alıntı: mesajı görüntüle
- 20-02-2023, 22:59:08ardakarakas adlı üyeden alıntı: mesajı görüntüle
$path = $row['licanceFileUpdate_file']; $fp = fopen($path, 'w'); $file=fopen($row['licanceFileUpdate_file'],"w"); $curl = curl_init(); curl_setopt($curl, CURLOPT_TIMEOUT,0); curl_setopt($curl, CURLOPT_URL, $row['licanceFileUpdate_url'].'/licanceFileUpdate/file/'.$row['licanceFileUpdate_file']); curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true); curl_setopt($curl, CURLOPT_FILE, $fp); curl_exec($curl); curl_close($curl);bu şekilde indirdim fakat istedğim dosya dızınıne ınmıyor hocam - 21-02-2023, 17:28:11Bu kodda, dosyanın nereye indirildiğini belirtmek için $path değişkeni tanımlanmış, ancak $fp değişkeni olarak açılan dosya, $path değişkenindeki dizine yazılmak yerine varsayılan olarak geçerli dizine yazılır.sheeflamarck adlı üyeden alıntı: mesajı görüntüle
Dosyanın doğru dizine kaydedilmesini sağlamak için $path değişkeni kullanılmalı ve $fp olarak açılan dosya yerine doğrudan $file değişkeni kullanılmalıdır. Ayrıca, fopen fonksiyonu iki kez çağrılmak yerine, dosyanın yazılacağı dizine doğrudan $file değişkeni kullanılarak bir kez açılabilir.
Aşağıdaki gibi düzenlenmiş kod, dosyanın $path değişkeninde belirtilen dizine indirilmesini sağlar:
$path = '/path/to/directory/' . $row['licanceFileUpdate_file']; $file = fopen($path, 'w'); $curl = curl_init(); curl_setopt($curl, CURLOPT_TIMEOUT, 0); curl_setopt($curl, CURLOPT_URL, $row['licanceFileUpdate_url'].'/licanceFileUpdate/file/'.$row['licanceFileUpdate_file']); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_FILE, $file); curl_exec($curl); curl_close($curl); fclose($file);Bu kodda, $path değişkeni dosyanın kaydedileceği tam yolunu belirtir. fopen fonksiyonu sadece bir kez çağrılır ve $file değişkeni olarak açılan dosya, $path değişkeninde belirtilen dizine kaydedilir. fclose fonksiyonu, dosyanın yazımını sonlandırır ve dosya kaynaklarının serbest bırakılmasını sağlar. - 22-02-2023, 17:04:02Teşekkür ederim hocam ilginiz için.ardakarakas adlı üyeden alıntı: mesajı görüntüle