Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] wielkość pliku
-xeros-
post 7.08.2008, 10:11:22
Post #1





Goście







Witam,
Mam na serwerze np. jakis_plik.zip i chcialbym np sprawdzic ile ten plik zajmuje miejsca np. w mb?

Jest jakas komenda ktora mi to sprawdzi ?
Go to the top of the page
+Quote Post
rzymek01
post 7.08.2008, 10:21:46
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

Ostrzeżenie: (0%)
-----


http://php.net

lub google.pl winksmiley.jpg


--------------------
:]
Go to the top of the page
+Quote Post
-xeros-
post 7.08.2008, 10:37:00
Post #3





Goście







znalazlem: filesize

ale jak stosuje kod:
  1. <?php
  2. $wielkosc = $rekord['nazwa_pliku'];
  3. echo filesize($wielkosc) . ' bajtów';
  4. ?>


Część wielkości plików wyświetla się prawidłowo a przy niektórych jest błąd:
Warning: filesize() [function.filesize]: stat failed for images.jpeg in ...

czy to od czegoś zależy questionmark.gif
Go to the top of the page
+Quote Post
Siner
post 7.08.2008, 10:46:10
Post #4





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

Ostrzeżenie: (0%)
-----


filesize" title="Zobacz w manualu PHP" target="_manual i zobacz tam pierwszy komentarz.


--------------------
Go to the top of the page
+Quote Post
-xeros-
post 7.08.2008, 11:00:05
Post #5





Goście







można to jakoś obejść ?
Go to the top of the page
+Quote Post
Shili
post 7.08.2008, 11:06:57
Post #6





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

Ostrzeżenie: (0%)
-----


http://pl.php.net/manual/pl/function.stat.php
Spróbuj może tego, co prawda nie jest to jakoś szczególnie poprawne, ale możesz się posiłkować funkcją is_writable, w przypadku true użyjesz filesize, w przypadku false stat. Może zadziała.
Go to the top of the page
+Quote Post
Adamo_0
post 7.08.2008, 12:26:54
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 5.08.2008

Ostrzeżenie: (0%)
-----


Witam
Pozwoliłem sobie napisać kod wyświetlający rozmiar pliku :
  1. <?php
  2. /* Nazwa pliku z którego chcemy pobrać rozmiar np:. nazwa.txt */
  3. $filename = 'nazwa.txt';
  4.  
  5. /* Przypisania funkcji użytych w programie*/
  6. $size = filesize($filename);
  7. $size_mb = ($size/1024)/1024;
  8. $round = round($size_mb,2);
  9. $format = number_format($size, 2, ',', ',');
  10.  
  11.  
  12. /* Wyświetla rozmiar pliku w bajtach */
  13. echo $filename . ': ' . $size . ' bajtów';
  14. echo "<br>";
  15.  
  16. /* Wyświetle rozmiar pliku w bajtach zwracając sformatowaną liczbę */
  17. echo $filename . ': ' . $format . ' bajtów';
  18. echo "<br>";
  19.  
  20. /* Wyświetla rozmier pliku w megabajtach */
  21. echo $filename . ': ' . $size_mb . ' megabajtów';
  22. echo "<br>";
  23.  
  24.  
  25. /* Wyświetla liczbe w megabajtach zaokrągloną do 2 miejsc po przecinku */
  26. echo $filename . ': ' . $round . ' megabajty';
  27. echo "<br>";
  28. ?>


Powyższy kod powinien zwrócić coś podobnego to tego:
Kod
nazwa.txt: 2458072 bajtów
nazwa.txt: 2,458,072,00 bajtów
nazwa.txt: 2.3442001342773 megabajtów
nazwa.txt: 2.34 megabajty

Mam nadzieje że kiedy komuś się on przyda Rkingsmiley.png

Ten post edytował Adamo_0 7.08.2008, 12:35:45


--------------------
Ty też się kiedyś uczyłeś...
Go to the top of the page
+Quote Post
-xeros-
post 7.08.2008, 13:18:57
Post #8





Goście







Adamo_0 thx za kod ale i tam mam te same błędy które były wcześniej... wina chyba leży po stronie php 5
Go to the top of the page
+Quote Post
Siner
post 7.08.2008, 18:50:19
Post #9





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

Ostrzeżenie: (0%)
-----


W php zawsze moższ skorzytsać z class.directoryiterator" title="Zobacz w manualu PHP" target="_manual i funkcji getSize. Na google znajdziesz trochę informacji jak to zastosować.

Ten post edytował Siner 7.08.2008, 18:51:08


--------------------
Go to the top of the page
+Quote Post
kacpereczek
post 28.08.2008, 15:02:14
Post #10





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 15.08.2008
Skąd: Tetaumatawhakatangihangak
oauaotamateaurehaeaturipu
kapihimaungahoronukupokai
whenuaakitanarahu

Ostrzeżenie: (0%)
-----


Co trzeba zrobić, aby dane kilku plików były wyświetlane na jednej stronie za pomocą ostatniego przykładu?

  1. <?php
  2. /* Nazwa pliku z którego chcemy pobrać rozmiar np:. nazwa.txt */
  3. $filename = 'nazwa.txt';
  4.  
  5. /* Przypisania funkcji użytych w programie*/
  6. $size = filesize($filename);
  7. $size_mb = ($size/1024)/1024;
  8. $round = round($size_mb,2);
  9. $format = number_format($size, 2, ',', ',');
  10.  
  11. /* Wyświetla liczbe w megabajtach zaokrągloną do 2 miejsc po przecinku */
  12. echo $filename . ': ' . $round . ' megabajty';
  13. echo "<br>";
  14. ?>


Bardzo proszę o pomoc bo potrzebuję tego skryptu...
Pozdrawiam
Go to the top of the page
+Quote Post
decha-design
post 28.08.2008, 15:16:09
Post #11





Grupa: Zarejestrowani
Postów: 415
Pomógł: 46
Dołączył: 26.05.2007
Skąd: Sandomierz

Ostrzeżenie: (0%)
-----


zrobić to w pętli dla kilku plików?

pliki możesz dać do tablicy ...
  1. <?php
  2. $files = array('nazwa.txt', 'nazwa2.txt')
  3. ?>
i zrobić następnie pętle:

  1. <?php
  2. foreach($files as $file) {
  3.  
  4. $size = filesize($file);
  5. $size_mb = ($size/1024)/1024;
  6. $round = round($size_mb,2);
  7. $format = number_format($size, 2, ',', ',');
  8.  
  9. /* Wyświetla liczbe w megabajtach zaokrągloną do 2 miejsc po przecinku */
  10. echo $filename . ': ' . $round . ' megabajty';
  11. echo "<br>";
  12.  
  13. }
  14. ?>


Mozliwe ze są błedy, ale raczej powinno dzialać ...


--------------------
Go to the top of the page
+Quote Post
kacpereczek
post 29.08.2008, 16:32:19
Post #12





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 15.08.2008
Skąd: Tetaumatawhakatangihangak
oauaotamateaurehaeaturipu
kapihimaungahoronukupokai
whenuaakitanarahu

Ostrzeżenie: (0%)
-----


Zrobiłem wszystko tak:

  1. <?
  2. $files = array('../gallery/comments/01.txt', '../gallery/comments/02.txt','../gallery/comments/03.txt', '../gallery/comments/04.txt', '../gallery/comments/05.txt', '../gallery/comments/06.txt', '../guestbook/data.txt');
  3.  
  4. foreach ($files as $file) 
  5. {  
  6. $size = filesize($file);
  7. $size_mb = ($size/1024)/1024;
  8. $round = round($size_mb,2);
  9. $format = number_format($size, 2, ',', ',');
  10. echo $filename . ': ' . $round . ' megabajty';
  11. echo "<br>";
  12. }
  13. ?>


I wyświetla mi się tylko to:

Cytat
: 0 megabajty
: 0 megabajty
: 0 megabajty
: 0 megabajty
: 0 megabajty
: 0 megabajty
: 0 megabajty


Proszę o pomoc...
Go to the top of the page
+Quote Post
szopen
post 29.08.2008, 23:28:45
Post #13





Grupa: Zarejestrowani
Postów: 60
Pomógł: 5
Dołączył: 28.08.2008

Ostrzeżenie: (0%)
-----


Po zerowe -- skonfiguruj PHP tak jak trzeba (E_ALL | E_STRICT itd.) pozwoli wyjaśnić wiele błędów...

Po pierwsze zamiast $filename daj $file.

A czy te pliki są na tyle duże, aby mieściły się w przyjętej przez Ciebie dokładności w round($size_mb,2);? 
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.07.2025 - 05:59