Arkadaşlar siteye dosya upload ettim.
Şimdi onları botla MYSQL`e ekletmek istyorum.
Her şey sorunsuz çalışıyor denedim bir tek sorun dosyanın boyutunu nasıl öğrene bilirim?
Dosyanın boyutunu nasıl öğrenmek mümkün?
12
●940
- 01-11-2009, 20:24:55
- 01-11-2009, 20:33:54Üyeliği durdurulduresim dosyasi olarak en boy olarak boyutunu öğrenmek istiyorsanizda getimagesize fonksiyonunu kullanabilirsiniz
- 01-11-2009, 20:40:39Üyeliği durdurulduHayır mp3 dosyasının boyutunu öğrenmek için hocam.sdemirkeser adlı üyeden alıntı: mesajı görüntüle
Bunu Byte` göstermeden yaptıra bilirmiyiz?akadal34 adlı üyeden alıntı: mesajı görüntüle
MByte olarak? - 01-11-2009, 20:42:52Üyeliği durdurulduhocam ilgili sayfada yorumlar kismina inerseniz filesize2bytes diye bir fonksiyon göreceksiniz. o direk işinizi görebilirXiechenG adlı üyeden alıntı: mesajı görüntüle
- 01-11-2009, 20:52:40Üyeliği durdurulduBen php de acemiyim şimdi burada ben dosyanın ismini nerde belirticeğim?sdemirkeser adlı üyeden alıntı: mesajı görüntüle
Ya da nasıl fonkisyona ataya bilirim?
şöle yaptım fakat 0 aldım
<?php /** * Converts human readable file size (e.g. 10 MB, 200.20 GB) into bytes. * * @param string $str * @return int the result is in bytes * @author Svetoslav Marinov * @author http://slavi.biz */ function filesize2bytes($str) { $bytes = 0; $bytes_array = array( 'B' => 1, 'KB' => 1024, 'MB' => 1024 * 1024, 'GB' => 1024 * 1024 * 1024, 'TB' => 1024 * 1024 * 1024 * 1024, 'PB' => 1024 * 1024 * 1024 * 1024 * 1024, ); $bytes = floatval($str); if (preg_match('#([KMGTP]?B)$#si', $str, $matches) && !empty($bytes_array[$matches[1]])) { $bytes *= $bytes_array[$matches[1]]; } $bytes = intval(round($bytes, 2)); return $bytes; } // c?kt?s?: // somefile.txt: 1024 bytes $filename = 'errors/001.mp3'; echo $filename . ': ' . filesize2bytes($filename) . ' bytes'; ?>echo $filename . ': ' . filesize($filename) . ' bytes';
bu kodu
echo $filename . ': ' . filesize($filename)/1024 . ' KBytes';
olarak yazıyorum
fakat bölme işlemi yapılan zaman mesela 664.055664063 böyle uzun bir rakam çıkıyor.
Noktadan sonrasını sile bilirmiyiz?
Yoksa uzun bir kodmu gerekir bu zaman? - 01-11-2009, 23:40:13Üyeliği durduruldusizin koda hocam bu fonksiyonuda dahil edeceksinizXiechenG adlı üyeden alıntı: mesajı görüntüle
echo $filename . ': ' . filesize2bytes(filesize($filename));
gibi - 02-11-2009, 04:54:47Üyeliği durdurulduHocam intval için teşekkürlerakadal34 adlı üyeden alıntı: mesajı görüntüle

Hocam şimdi yaptığım işlemler şölesdemirkeser adlı üyeden alıntı: mesajı görüntüle
öncelikle
filesize2bytes(filesize($filename))
olayını bildirdiğiniz gibi doğru yazılışını yazdım
daha sonra
filesize($filename)/1024
bölme işlemini yaptırdım ve akadal34 arkadaşımızın verdiği invatl ile de
intval(filesize2bytes(filesize($filename)/1024))
yuvarlaklaştırdım fakat şöle bir sorun belirdi
ben MB olarak göstermek istiyordum ama bana KB olarak 664 verdi
şimdi ben onu nasıl 0.66 yazdırıcağımı düşünüyorken
1000e bölmeye karar verdim
echo $filename . ': ' . intval(filesize2bytes(filesize($filename)/1024))/1000;
ama 1000e bölünce 0.664 olarak çıktı bunu noktadan sonrasının 2 rakamını çektirmek mümkünmü acaba dostlar?