login  Naam:   Wachtwoord: 
Registreer je!
 Forum

kb's/mb's goed weergeven

Offline roelh - 02/05/2006 12:16
Avatar van roelhPHP gevorderde Mensen,
heb nu een uploadscript gemakt.
Nu heb ik filesize(); gebruikt om uit te rekenen hoegroot het bestand is.
Maar hoe kan ik kan zorgen dat hij komma's gebreukt enzo, welke functie is het beste daarvoor?
Hij geeft bij 1,2 dit weer; 1253038, dus geen komma's in het getal.
Wie kan me helpen?

16 antwoorden

Gesponsorde links
Offline Alerd - 02/05/2006 12:17
Avatar van Alerd Nieuw lid sprintf
Offline roelh - 02/05/2006 12:20 (laatste wijziging 02/05/2006 12:28)
Avatar van roelh PHP gevorderde Hmmss okeej, zal ff gaan uitzoeken heo het werkt.
bedankt, had het namelijk ookal met round() geprobeerd.

Kan iemand me helpen met de functie, kom er niet echt uit 
Offline marten - 02/05/2006 12:32 (laatste wijziging 02/05/2006 12:33)
Avatar van marten Beheerder
  1. <?php $tegoeddec = sprintf("%01.2f",$tegoedeuro);
  2. //Maak van bv € 30 --> € 30.00 ?>


Voorbeeld
Offline roelh - 02/05/2006 12:35
Avatar van roelh PHP gevorderde Hmmss na kom er niet uit nog, maar toch bedankt iig 
Offline BramBo - 02/05/2006 12:40
Avatar van BramBo JS gevorderde (x/ 1024) voor KB en

((x / 1024) / 1000) voor MB
Offline Ontani - 02/05/2006 14:19
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
  1. <?
  2. function human_size( $bytes, $decimal = '2' ) {
  3. if( is_numeric( $bytes ) ) {
  4. $position = 0;
  5. $units = array( " Bytes", " KB", " MB", " GB", " TB" );
  6. while( $bytes >= 1024 && ( $bytes / 1024 ) >= 1 ) {
  7. $bytes /= 1024;
  8. $position++;
  9. }
  10. return round( $bytes, $decimal ) . $units[$position];
  11. }
  12. else {
  13. return "0 Bytes";
  14. }
  15. }
  16. ?>


ik weet niemeer waar ik die functie van heb maar ik denk van php.net zelf.

wordt gebruikt in: http://ontani.be/storage/uploads
Offline roelh - 02/05/2006 15:47 (laatste wijziging 02/05/2006 15:48)
Avatar van roelh PHP gevorderde Thanks, alleen hoe kan ik hem nu aanroepen?
Lukt me niet zo...
Heb nu dit dus, maar doe wat fout, er komt namelijk 0 uit...
  1. <?
  2. function human_size( $bytes, $decimal = '2' ) {
  3. if( is_numeric( $bytes ) ) {
  4. $position = 0;
  5. $units = array( " Bytes", " KB", " MB", " GB", " TB" );
  6. while( $bytes >= 1024 && ( $bytes / 1024 ) >= 1 ) {
  7. $bytes /= 1024;
  8. $position++;
  9. }
  10. return round( $bytes, $decimal ) . $units[$position];
  11. }
  12. else {
  13. return "0 Bytes";
  14. }
  15. }
  16.  
  17. if(isset($_POST['submit']))
  18. {
  19. $file = filesize($_FILES['bestand']['tmp_name']);
  20. echo human_size($file);
  21. }
  22. ?>
Offline marten - 02/05/2006 15:48
Avatar van marten Beheerder
  1. <?
  2. echo human_size( 102400000, $decimal = '2' );
  3.  
  4. //Dit zal 1,00 mb opleveren denk ik
  5. ?>
Offline Ontani - 02/05/2006 15:53
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
  1. <?
  2. echo human_size(filesize($_FILES['bestand']['tmp_name']));
  3. ?>
Offline roelh - 02/05/2006 15:57
Avatar van roelh PHP gevorderde Hij werkt wel, maar als ik een bestand van groter dan 6mb heb, dan geeft hij 0 aan, en kleiner dan 6 doet het wel.
Idee hoe dat zou kunnen?
Offline Ontani - 02/05/2006 16:01
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
neen geen idee, bij mij werkt dit perfect:
Offline roelh - 02/05/2006 16:32 (laatste wijziging 02/05/2006 18:07)
Avatar van roelh PHP gevorderde ook bij grote bestanden?
Misschien kan het zijn dat ik localhost werk?
Vind wel raar en jammer, is iig een super script, maar jammer dat het bij grote bestanden niet werkt 

Zou iemand aub me ermee kunnen helpen? 
Offline ikkedikke - 02/05/2006 18:12
Avatar van ikkedikke PHP expert Dat ligt er eerder aan dat je een max_post_size hebt of iets dergelijks in je php.ini.
aan de hand hiervan is dat te controleren.
Offline Button - 02/05/2006 20:26 (laatste wijziging 02/05/2006 20:56)
Avatar van Button PHP ver gevorderde ja zoals ikkedikke zei, moet je zien dat je .ini dit ook toelaat. Ik heb hier ook mee zitten klooien, ik heb ook aan de tijd dat aan een script mag worden gegeven (om het uit te voeren) wat verandert, omdat je met grote bestanden miss ook wat meer tijd nodig hebt...

edit: das al één link: max-execution-time(bij mij staat hij precies op 300 (dat is miss wel wat lichtjes overdreven )

edit2:nu zie ik deze ook staan op php.net: max_input_time deze zie ik nu ook staan en volgens mij moet je die ook aanpassen, doe ik beter ook eens 

edit3:
mijn reactie was een antwoord hier op hé voor dat ik voor verwarring zorg :
Citaat:
Hij werkt wel, maar als ik een bestand van groter dan 6mb heb, dan geeft hij 0 aan, en kleiner dan 6 doet het wel.
Idee hoe dat zou kunnen?

Offline BigBug - 02/05/2006 20:44
Avatar van BigBug PHP expert Ik weet niet hoor, maar als je gewoon een groot getal krijgt kan je het misschien delen en met round(); het getal ervan maken wat jij wilt?
Offline roelh - 03/05/2006 01:04 (laatste wijziging 03/05/2006 01:09)
Avatar van roelh PHP gevorderde Thanks, ga het even uitzoeken, hopelijk gaat het werken 
Bedankt voor jullie hulp!

edit: Thanks, hij doet nu dankzij jullie hulp.
Heb het veranderd in php.ini en kan nu tot 10mb uploaden 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.24s