Öncelikle böyle bir sistemi kendin yazıp ve cgi değilde php ile yapmak istiyorsan benimde izlediğim adımları izlemen gerekecek .. SSH ile server a root yetkin olması gerekiyor.. Bağlandıktan sonra aşağıdan kurulumu gerçekleştirelim..
http://pecl.php.net/package/uploadprogress
Yukarıdaki adresten son olan bir versionu indirmelisin yada..
wget http://pecl.php.net/get/uploadprogress-1.0.1.tgz
tar xvzf uploadprogress-1.0.1.tgz
cd uploadprogress-1.0.1
phpize
./configure
make
make install
Bu işlemleri yaptıktan sonra en son make install dediğinde aşağıdaki çıktıyı alacaksın
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20060613/.
Bunu kopyala lazım olacak .. Sonra
php.ini dosyanı açıp editlememiz gerekecek.. Peki benim server da bir çok
php.ini dosyası var hangisi gerçeği diye soruyorsan onuda aşağıdaki kod ile bulacaksın..
php -i | grep ini
Düzenlemek için açtıktan sonra
extension_dir bölümünü bulup yolunu yukarıda bize verilen değeri giriyoruz. Yani
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613/"
Değerleri girdikten sonra php.ini dosyamızı kapatmadan eklememiz gereken bir kod daha var oda aşağıda verdiğim kodu ekleyeceğiz. ( Nereye Eklediğiniz fark etmez )
extension=uploadprogress.so
Kaydedip çıkıyoruz ve Apache yi restart yapıyoruz.
Kurulu olup olmadığını boş bir php sayfasına
phpinfo(); yazıp görebiliriz . Böylelikle uploadprogress i kurmuş olduk.
Şimdi bu uploadprogress i nasıl kullanacağımıza gelelim
Daha önce kendim hazırladığım bir sistemin kodlarını vereceğim sana eminim çok faydası olacaktır

Öncelikle
jQuery kütüphanesini kullandığım için direkt kodları o şekilde vereceğim..
dosya.php if (@$_GET['id']) {
echo json_encode(uploadprogress_get_info($_REQUEST['id']));
exit();
}
if (@$_POST['UPLOAD_IDENTIFIER'])
exit();
$uuid = uniqid();<script>
var progress_key = '<?=$uuid;?>';
function beginUpload() {
var i = setInterval(function() {
$.getJSON("dosya.php?id=" + progress_key, function(data) {
if (data == null) {
clearInterval(i);
location.reload(true);
return;
}
var percentage = Math.floor(100 * parseInt(data.bytes_uploaded) / parseInt(data.bytes_total));
$("#uploadprogressbar").progressBar(percentage);
var yazi = 'Toplam Boyut : <b>'+bytes(data.bytes_total)+'</b> - Yüklenen : <b>'+bytes(data.bytes_uploaded)+'</b>';
#yazi olarak verdiğim değişkene veriler gelir gelmez byteup kimlikli div e yazdırıyorum böylelikle her kademede hem yüklediği kb ı hemde toplam boyutu yazdırmış oldum.
$("#byteup").html(yazi);
});
}, 1500);
return true;
}
</script>İki koduda tek php dosyasına ekliyorsun ve aynı sayfaya bir tane form oluşturup post işlemi yaptırıyorsun. Tabi post işlemini yaptırırken onSubmit="beginUpload();" unutmayalım
Kısaca anlatmaya çalıştım bir upload progress i kendimiz nasıl yapabiliriz Hazırları bana göre değil ben kendim yapmak istiyorum diyenler için birebir umarım bu yazıdan bir çok kişi faydalanır..
Takıldığınız bir yer olursa konuya yazın cevap vereyim arkadaşlar
Saygılar..
Mesut Eyrice
(önemli olan yerleri kalın ile belirttim arkadaşlar.)