Benim Server'a Görüntüler çok sayıda indirme ve Yükleme tamamlandığında Kullanıcı bildirerek

2 Cevap php

Ben Server Files büyük miktarda indirmek istiyorum. Ben onları koymak indirmek ve yerler için farklı dosyalar bir listesi var. Bu, tüm bir sorun değil, ben shell_exec ile bu idam, Dosya indirmek için wget kullanabilirsiniz

$command = 'wget -b -O' . $filenameandpathtoput . ' ' . $submission['url'];
shell_exec($command);

Bu harika çalışıyor, sunucu tüm konu başlar ve dosyaları hiçbir zaman indirilir.

Sorun ben Dosyaları indirdiğiniz zaman Kullanıcı bildirmek istiyorum ... Ve bu şeyleri benim şimdiki şekilde çalışmaz. Peki bu uygulamak istiyorsunuz?

Herhangi Öneriler yararlı olacaktır!

2 Cevap

Ben tüm dosyaları gibi bir şey ile yerinde olup olmadığını kontrol etmek mümkün olduğunu tahmin

function checkFiles ()
{
    foreach ($_SESSION["targetpaths"] as $p)
    {
        if (!is_file($p)) return false;
    }
    return true;
}

Şimdi tüm yapmanız gereken her saniye (veya çok) bu işlevini çağırır, sunucu üzerindeki bir komut dosyası aramak. Sen (n saniye sonra sayfayı yeniden tarayıcı zorlamak) Meta Refresh ile veya AJAX kullanarak gerçekleştirebilirsiniz ya (örneğin, jQuery'nin .getJSON bakabilirsiniz).

Script denir ve dosyaları henüz tüm "Lütfen bekleyin" ve daha sonra tekrar yenilemek gibi bir baskı şey indirdiğiniz değilseniz. Aksi takdirde, başarı mesajı gösteriyor. Hepsi bu.

Sen dış wget komutu çalıştırmak için exec kullanarak düşünebilirsiniz. PHP komut dış komut tamamlanıncaya kadar engeller. Bu tamamlandığında size tamamlanan dosyanın adını yankı.