Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt downloadu
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
KadrO
Cytat(KadrO @ 12.06.2011, 16:50:16 ) *
Witam. Problem mój jest taki. Otóż chciałbym, by download plików (dokumentów) wyglądał u mnie podobnie jak przedstawiony na tym zdjęciu. Mój skrypt wygląda tak :

  1. <?
  2. $sciezka = "dok/";
  3. $lista=array();
  4. $katalog = opendir($sciezka);
  5. while ($plik = readdir($katalog)) {
  6. if (($plik<>".")&&($plik<>"..")) if(!is_dir($sciezka.$plik))
  7.  
  8. $lista[]=$plik;
  9. }
  10.  
  11. closedir($katalog);
  12. sort($lista);
  13.  
  14.  
  15. for ($i=0;$i<count($lista);$i++) {
  16. echo "<br><img src=\"gfx/ikona-pdf.gif\">&nbsp;&nbsp;<a href=\"dok/$lista[$i]\">$lista[$i]</a> $wp $dm";
  17. }
  18. ?>



O co mi chodzi? Otóż nie potrafię (nie wiem jak), pobrać informacje o wielkości plików, rozszerzeniu i ostatniej ich edycji. No i także o ilości pobranych, ale za to to już w ogóle się nie zabieram. Nie potrzebuję pomocy w html czy css, bo wiem jak to wszystko samemu ułożyć, aczkolwiek jakbym nie próbował użyć funkcji filesize, jakoś mi to nie idzie. Przypominam że jestem początkującym. Bardzo prosiłbym o jak najszybszą pomoc.

Z góry dziękuję.


Witam. Jako że zostałem skierowany tutaj, umieszczam post w którym napisałem o co mi chodzi. Jeżeli znalazł by się ktoś potrafiący i chcący mi pomóc (myślę że dla zaawansowanej osoby to minuta roboty) byłbym bardzo wdzięczny.
toaspzoo
rozmiar był sizeof() lub najlepiej filesize('sciezka/plik');

rozszerzenie robisz explode('.','nazwa_pliku');
KadrO
Cytat(toaspzoo @ 12.06.2011, 18:41:48 ) *
rozmiar był sizeof() lub najlepiej filesize('sciezka/plik');

rozszerzenie robisz explode('.','nazwa_pliku');




A co do ostatniej edycji samego pliku, to jest to niemożliwe


Problem w tym, że właśnie nie wiem w którym miejscu i jak zastosować te funkcje. A ostatnią edycję dzięki bodaj : date(' j F Y', filemtime ($plik)); można pobrać.
toaspzoo
Definiujesz zmienne i tyle.

echo $rozmiar = filesize($plik);
KadrO
Cytat(toaspzoo @ 12.06.2011, 19:05:10 ) *
Definiujesz zmienne i tyle.

echo $rozmiar = filesize($plik);


Tylko w którym miejscu?! W pierwszym poście podałem skrypt, ale gdzie to dać. Bo jeżeli definiuję tą zmienną tam gdzie pętla for, nie daje to żadnych efektów.
toaspzoo
w zmiennej $plik dajesz adres do pliku lokalnego
KadrO
Cytat(toaspzoo @ 12.06.2011, 20:21:09 ) *
w zmiennej $plik dajesz adres do pliku lokalnego


Chyba totalnie się nie rozumiemy. Ale skrypt wyświetla pliki masowo. U góry masz cały skrypt, chcę po prostu by przy tych linkach był rozmiar pliku. Nie chcę do każdego osobno pisać wiersz.

To może jeżeli przy tym nikt nie jest mi wstanie pomóc, może ktoś będzie wiedział co tu jest nie tak :
  1. <?
  2. $sciezka = '.';
  3. $katalog = opendir($sciezka);
  4.  
  5.  
  6. ?>
  7.  
  8. <table cellpadding="2" cellspacing="2" align="left">
  9. <tr>
  10. <td> Nazwa pliku </td>
  11. <td> Rozmiar </td>
  12. <td> Data </td>
  13. </tr>
  14.  
  15. <?
  16.  
  17. while ($plik = readdir ($katalog) ) {
  18. if ( (is_file ($plik)) AND (substr ($plik, 0, 1) != '.') ){
  19.  
  20. $wp = filesize ($plik);
  21. $dm = date ('j F Y', filemtime ($plik));
  22.  
  23. echo "<tr>
  24. <td><a href=\"dok/$plik\">$plik</a></td>
  25. <td> $wp</td>
  26. <td>$dm</td>
  27. </tr>";
  28. }
  29. }
  30. print "</table>";
  31. closedir ($katalog);
  32.  
  33.  
  34.  
  35. ?>

Skrypt powyższy działa poprawnie, wyświetla wszystko, tyle że gdy zamiast - $sciezka = '.'; wpiszę $sciezka = 'dok/'; nic nie wyświetla, żadnych plików, mimo że błędy nie wyskakują a katalog istnieje na sto procent.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.