Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Problem z funkcją filesize(adres)
Forum PHP.pl > Forum > Przedszkole
Kamils2
Witajcie!
Pisze mały silnik na moje portfolio i już teraz mam problem. Zrobiłem upload plików. Teraz zajmuje się ich wyświetlanie. I mam problem ponieważ przy każdym pliku chce wyświetlić jego rozmiar. Jednak skrypt znajduje się pod adresem www.strona.pl/administracja/news.php?images=upload&categories=show a katalog ze zdjęciami znajduje się pod adresem www.strona.pl/images/news_cats/. I tutaj zaczyna się problem ponieważ w skrypcie muszę używać "../" i podejrzewam, że funkcja filesize() źle interpretuje moje kropki i nie wyświetla rozmiaru pliku. Może mi ktoś coś poradzić, aby skrypt działał. Poniżej zamieszczam kod.

UPDATE:
Już wiem co robilem zle nie podawalem sciezki do pliku do sama zmienna jednak moze mi ktos pomoc osadzic to w miejscu "tu powinien byc rozmiar pliku" chce zrobic filesize("../images/news_cats/$pliki") jednak to sie gryzie z echo a nie moge go wylaczyc bo sie tabelka rozyspie prosze o pomoc


  1. <?php
  2. echo '<table>';
  3. $opdir = opendir("../images/news_cats/");
  4. $rozmiar = filesize("$pliki");
  5. $roz_graficzne = array('.gif');
  6.  
  7. while($pliki = readdir($opdir))
  8. {
  9.  
  10. if ($pliki != '.' && $pliki != '..')
  11. {
  12.  
  13. $rozszerzenie = strtolower(strrchr($pliki, "."));
  14. if(in_array($rozszerzenie, $roz_graficzne))
  15. echo "<tr><td widht='100px' height='90px' class='showimage'>
  16. <img src=../images/news_cats/$pliki></td>
  17. <td width='400px' height='90px' class='showimage' valign='top'>
  18. Nazwa: <b>$pliki</b><br>
  19. Rozmiar: <b> tu powinien byc rozmiar pliku </b>
  20. </td>
  21. <td width='100px' height='90px' class='showimage'>
  22. <center>
  23. <a href=adres.php><img src=../images/CMS/delete.gif border='0'></a>
  24. </center></td> </tr>";
  25. }
  26. ?>


Jeszcze, aby napisze, że skrypt wyświetla jedynie pliki .gif nie wyświetla katalogów, ale to widać po kodzie.
Z góry dziękuje za pomoc - Kamil
AxZx
no ale czemu $rozmiar = filesize("$pliki"); masz poza petla while?

wrzuc ja do while i podaj sciezke do pliku

czyli pewnie cos takiego

  1. <?php
  2. $rozmiar = filesize('../images/'.$pliki);
  3. ?>
Kamils2
no dobrze wrzucilem ale mi chodzi o to jak to tam osadzic bez wylaczania echo :/

zrobilem tak

  1. <?php
  2. while($pliki = readdir($opdir) && $rozmiar = filesize("$pliki"))
  3. {
  4.  
  5. if ($pliki != '.' && $pliki != '..')
  6. {
  7.  
  8. $rozszerzenie = strtolower(strrchr($pliki, "."));
  9. if(in_array($rozszerzenie, $roz_graficzne))
  10. echo "<tr><td widht='100px' height='90px' class='showimage'>
  11. <form enctype='multipart/form-data' action='news.php?images=delete&categories=$pliki'
  12. method='POST'>
  13. <img src=../images/news_cats/$pliki></td>
  14. <td width='400px' height='90px' class='showimage' valign='top'>
  15. Nazwa: <b>$pliki</b><br>
  16. Rozmiar: <b> TU ROZMIAR</b>
  17. </td>
  18. <td width='100px' height='90px' class='showimage'>
  19. <center>
  20. <input type='submit' value='Usuń plik!' class='button'>
  21. </center></td> </tr></form>";
  22.  
  23.  
  24. }
  25.  
  26. }
  27. ?>


i tma gdzie pisze "TU ROZMIAR" chce dac rozmiar pliku gdyt dam tam po prostu $rozmiar to mi sie nic nie wyswietla nawet ten obrazek i nazwa pliki :/
maryaan
przeciez Ci kolega napisal zebys zapodal do filesize jeszcze katalog bo teraz sprawdzasz wielkosc pliku o nazie costam.jpg ktorego w biezacym katalogu nie ma. Tu masz zmieniona wersje Twojego kodu bo jak juz cos pisac to tak zeby mialo "rece i nogi", nie jest to jeszcze to co ma byc ale to juz pozostawiam Tobie do przemyslenia.
  1. <?php
  2. $sciezka = 'foty/';
  3. $opdir = opendir($sciezka);
  4.  
  5. $roz_graficzne = array('.jpg');
  6.  
  7. while($pliki = readdir($opdir))
  8. {
  9.  
  10. if ($pliki === '.' || $pliki === '..') continue;
  11.  
  12. $rozmiar = filesize($sciezka.$pliki);
  13. $rozszerzenie = strtolower(strrchr($pliki, "."));
  14. if(!in_array($rozszerzenie, $roz_graficzne)) continue;
  15.  
  16. echo "n".'<div style="float: left; margin: 10px; padding: 5px 5px 0 5px; border: 2px dotted gray;
     background: #bebebe;">'
    ;
  17. echo '<div style="background: #e3e3e3;">';
  18. echo 'Nazwa pliku: '.$pliki;
  19. echo '<br>Rozmiar pliku: '.round($rozmiar/1024, 1).'KB';
  20. echo '</div>';
  21. echo '<div>';
  22. echo '<img src="foty/'.$pliki.'" width="200px" height="150px">';
  23. echo '</div>';
  24. echo '<div style="padding: 10px 0 0 0">';
  25. echo '<form enctype="multipart/form-data" action="news.php?images=delete&categories='.$pliki.'" method="POST">';
  26. echo '<input type="submit" value="Usuń plik!" class="button">';
  27. echo '</form>';
  28. echo '</div>';
  29. echo '</div>';
  30. }
  31. ?>


oczywiscie sciezke itd musisz pozmieniac wg Twoich danych
Kamils2
o dzieki wielkie za pomoc ja dopiero zaczynam w php (pisac cos "wiekszego") wiec pewnie wiele bledow robie ;]

jeszcze raz dziekuje i prosze o zamkniecie tematu
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-2025 Invision Power Services, Inc.