İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Asp ile dosya boyutu !!!

jackal

0
İyinet Üyesi
Katılım
2 Ocak 2006
Mesajlar
1,899
Reaction score
1
server a kullanıcılar dosya yukluyo çeşitli boyutlarda,

yuklemış oldukları boyutları ben toplam olarak nasıl gosterebılırım sıtede,

toplam xx mb dosya vardır,

eğer kullanıcıalr dosyaların boyutunu yazsaydı labılrıdı ama hepsı boş bırakıyor dırekt serverda yuklenen klasorun toplam boyutunu alma gıbı bır işlem yapmam lazım uzun sure araştırdım ancak bir sonc elde edeemdım bılen varsa yardım ederse sevınırım
 

Developer

0
İyinet Üyesi
Katılım
21 Şubat 2006
Mesajlar
2,123
Reaction score
0
Konum
Istanbul
<%
' Veritabanına bağlanalım
set kon=server.createobject("addob.connection")
conn.open= "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= " & server.mappath ("db/data.mdb")
set rs=server.createobject("adodb.recordset")
sql = "select * from tablo"
conn.open sq,kon,3,3
%>

'Sonra Recordcount yöntemi ile kayıt sayısını kolayca alıyoruz.
Veritabanındaki tabloda toplam <% rs.recordcount%>kayıt var metodu ile alabilirsin.
 

Developer

0
İyinet Üyesi
Katılım
21 Şubat 2006
Mesajlar
2,123
Reaction score
0
Konum
Istanbul
<'--2. Yöntem (SQL ile)>

<%
'-- Değişkenler tanımlandı.
Dim cnnDB, Rs, kayitsayisi, MySQL
'-- cnnDB isimli veritabanı bağlantı nesnesi oluşturuldu.
Set cnnDB=Server.CreateObject("ADODB.Connection" )
'-- ODBC'den MyDatabase isimli veritabanı açıldı.
cnnDB.Open "MyDatabase"
'-- SQL oluşturuldu.
mySQL="Select COUNT(*) FROM TblOrnek;"
'-- SQL bağlantı nesnesi üzerinde çalıştırılarak Rs isimli recordSet nesnesine aktarıldı.
Set Rs =cnnDB.Execute(mySQL)
'-- Rs'in 0. Alanı kayıt sayısını bize verdi.
kayitsayisi=Rs(0)
'-- Kayıt sayısı ekrana yazdırıldı.
Response.Write kayitsayisi
'-- RecordSet kapatıldı.
Rs.Close
'-- Bağlantı kapatıldı.
cnnDB.Close
'-- Bağlantı bellekten silindi.
Set cnnDB=Nothing
%>
 

jackal

0
İyinet Üyesi
Katılım
2 Ocak 2006
Mesajlar
1,899
Reaction score
1
ancak yazdığın kayıt sayısını almak benım ıstedığım,
mesela serverda klasorde 100 dosya var, bu 100 dosyanın toplam kaç mb olduğu :)

ve bunu dırekt serverdan alması lazım çunku verıtabanında kaç kb oldukalrı yazmıyor
 

trextra

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
5,290
Reaction score
0
Konum
Kadıköy
<%

Set FSO = CreateObject("Scripting.FileSystemObject")

Set Klasor = FSO.GetFolder(Server.Mappath("/KLASORUN"))
Response.Write Klasor.Size
%>

Çıkan sonucu 1024'e bölersek sonucu KB cinsinden alırız.

<%
Set Klasor = FSO.GetFolder(Server.Mappath("/KLASORUN"))
Response.Write Klasor.Size/1024
%>

Burasıda KB oldu
 

jackal

0
İyinet Üyesi
Katılım
2 Ocak 2006
Mesajlar
1,899
Reaction score
1
Teşekkru edermı sayende halletmışem buyulsun :D sağolun
 

jackal

0
İyinet Üyesi
Katılım
2 Ocak 2006
Mesajlar
1,899
Reaction score
1
dediğin şekılde yaptım,
byte oalrak verıyı aldım dha sorna bu verıyı, 1 mb a karşılık gelen byte e cevırdım yanı 1024000 a ancak sonuc sanırım doğru değil, ve bundan zıyade neden bu kadar kusurlu vardu yuvarlama ımkanım yokmu bunu :)


Sitemizde 440228796 Byte a Karşılık 429.910933 MB Ödev Bulunmaktadır...
 

trextra

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
5,290
Reaction score
0
Konum
Kadıköy
1024 ün katları şeklinde gider ölçüler. 1024x1024=1048576 ya böl. Bilgisayarındaki bir klasöre sağ tıkladığında da buna benzer bir sonuç alırsın. Ya da harddiskler. 2500 mb lık harddiski 2,5 gb diye satıyolar ama aslında 2,3 gb tır ;)
 

jackal

0
İyinet Üyesi
Katılım
2 Ocak 2006
Mesajlar
1,899
Reaction score
1
pekı, 426 mb ı dırek gosterme ne oluyor yanı çok kusuratlı oluyr boyle :D
 

trextra

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
5,290
Reaction score
0
Konum
Kadıköy
Bu şekilde yapıp tam sayıya çevirebilirsin. Virgülden sonrasını atar. Ama mesela 6,99 nerdeyse 7 sayılır. Bunuda 6 şeklinde gösterir. Haberin olsun.

<%
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Klasor = FSO.GetFolder(Server.Mappath("/klasorun"))
Response.Write int(Klasor.Size/1024/1024)
%>
 

trextra

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
5,290
Reaction score
0
Konum
Kadıköy
Virgülden sonraki rakam farkı 0,5 den küçükse bir üst sayıya yuvarlama fonksiyonu yazdım. En azından 6,51 ya da 6,99 u 7 ye yuvarlayacak ;)

Kod:
<%
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Klasor = FSO.GetFolder(Server.Mappath("/klasorun"))

DosyaBoyutMB = Klasor.Size/1024/1024
intDosyaBoyutMB = int(DosyaBoyutMB)

if (intDosyaBoyutMB+1) - DosyaBoyutMB < 0.5 then
Response.Write  intDosyaBoyutMB + 1
Else
Response.Write intDosyaBoyutMB
End if

%>
 

Yusuf

0
İyinet Üyesi
Katılım
19 Aralık 2004
Mesajlar
158
Reaction score
0
Konum
İstanbul
mithrandil' Alıntı:
pekı, 426 mb ı dırek gosterme ne oluyor yanı çok kusuratlı oluyr boyle :D

Herhangi bir matematiksel işlemden sonra virgül sonrasını "ROUND" fonksiyonu ile belirleyebilirsin.

round(Klasor.Size/1024000,0)

Burdaki "0", virgülden sonra basamak göstermemesi anlamına geliyor.
1,2,3.. diye tanımlayabilirsin.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst