Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dynamiczny filesize();
Forum PHP.pl > Forum > PHP
galileox86
Witam serdecznie dzisiaj napotkalem sie na nispodziewany problem mianowicie chcialem sobie zrobic funkcje ktora bedzie sprawdzala mi rozmiar pliku po np 1 sekundzie ponownie zeby sprawdziala rozmiar pliku i porowanala je ze soba ale niestety oto kod:
  1. <?php
  2. $startSize = filesize($this->sciezkaPrzekonwertowanych.$this->nazwaPlikuBezRozszerzenia.'.flv');
  3.  
  4. usleep('2000000');
  5.  
  6.  
  7. $finishSize = filesize($this->sciezkaPrzekonwertowanych.$this->nazwaPlikuBezRozszerzenia.'.flv');
  8.  
  9. if($finishSize == 0){
  10. $this->errors[] = 'Plik nie zostal poprawnie skonwertowany';
  11. return false;
  12. }
  13. elseif($startSize < $finishSize){
  14. return 'Trwa konwertowanie';
  15. } elseif($startSize == $finishSize) {
  16. return 'Plik soknwertowany Prawidłowo';
  17. }
  18. ?>


wartosc $startSize i $finishSize jest identyczna ktos mi potrafi wytlumaczyc dlaczego sie tak dzieje questionmark.gif Najprawdopodobiniej php buforuje jakos filesize dla tego samego pliku i jesli zostanie on ponownie wykonany to pobiera wartosc z buffora, poniewaz jesli miedzy startSize a finishSize wstawie zeby mi pobral filesize jakiegokolwiek innego pliku to ponowne wykonanie filezise pierwotnego pliku jest inne i wtedy dziala wszystko tak jak powinno. Czy kots wie czy mozna to jakos ominac bez wywolywania tego innego pliku pomiedzy wartosciamia poczatkowymi a koncowymi questionmark.gif
Exek
http://pl.php.net/manual/pl/function.clearstatcache.php ? Nie wiem czy dziala bo nigdy nie musialem czegos takiego robic winksmiley.jpg
galileox86
Dzieki za pomoc funkcja ta zadzialala ale w miedzy czasie rozwiazalem problem nieco inaczej. To tak jakby ktos mial z tym tez jakis problem.
  1. <?php
  2. $fp = fopen($this->sciezkaPrzekonwertowanych.$this->nazwaPlikuBezRozszerzenia.'.flv','r');
  3. fseek($fp, 0, SEEK_END);
  4. $startSize = ftell($fp);
  5. fclose($fp);
  6.  
  7. usleep(122324);
  8. $fp = fopen($this->sciezkaPrzekonwertowanych.$this->nazwaPlikuBezRozszerzenia.'.flv','r');
  9. fseek($fp, 0, SEEK_END);
  10. $finishSize = ftell($fp);
  11.  
  12. fclose($fp);
  13. ?>
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.