Yükleme ilerleme çubuğu uygulanması kolaydır ve herhangi bir ek PHP uzantısı, JavaScript veya Flash gerektirmez. Ancak PHP 5.4 ve yenisi gerekir.
Sen On 'de direktifi session.upload_progress.enabled ayarlayarak yükleme ilerleme bilgi toplama etkinleştirmek zorunda php.ini. Sonra HTML yükleme formunda sadece before herhangi bir diğer dosya girişleri için gizli bir giriş ekleyin. HTML niteliği name, gizli giriş php.ini session.upload_progress.name gelen yönergesinin değeri olarak aynı olmalıdır (muhtemelen öncesinde session.upload_progress.prefix) . Value öznitelik kadar, bu oturum anahtarının bir parçası olarak kullanılabilir olacaktır.
HTML formu bu gibi görünüyor olabilir:
<form action="upload.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="<?php echo ini_get('session.upload_progress.prefix').ini_get('session.upload_progress.name'); ?>" value="myupload" />
<input type="file" name="file1" />
<input type="submit" />
</form>
Bu formu gönderdiğinizde, PHP yükleme durum bilgileri ile doldurulur $_SESSION
superglobal yapısında yeni anahtarı oluşturmanız gerekir. Anahtar birleştirilir name ve value gizli girişinin edilir.
PHP'de Eğer kalabalık yükleme bilgilere bir göz atabilirsiniz:
var_dump($_SESSION[ini_get('session.upload_progress.prefix').ini_get('session.upload_progress.name').'myupload');
Kullanıcıya yükleme ilerleme sunmak için, bir tek oturumda yükleme bilgilere bakar ve JSON biçiminde döndürür, örneğin olacaktır yükleyerek olandan başka bir PHP komut dosyası yazmak. Bu komut AJAX ve kullanıcıya sunulan bilgilerin periyodik olarak denilebilir.
Hatta $_SESSION[$key]['cancel_upload']
TRUE
ayarlayarak yükleme iptal edebiliyoruz.
Ayrıntılı bilgi için, ek ayarlar ve kullanıcının yorumlarına bir bakın PHP manual.