Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: file_exists szwankuje
Forum PHP.pl > Forum > PHP
deha21
Na podstawie wpisów dodanych w bazie przeszukuję folder w poszukiwaniu powiązanych plików. Na przykład rekord o ID 1234 szuka pliku 1234_1.jpg, 1234_2.jpg itd. Jeśli znajdzie plik 1234_1.jpg chce żeby utworzył z niego miniaturkę - thumb_1234_1.jpg. W większości rekordów robi się to bezproblemowo, ale w niektórych niestety nie... Nie mam pojęcia dlaczego. Poniżej zamieszczam kod:
  1. $path='/pliki/folder';
  2.  
  3. $scan=mysql_query("SELECT id FROM tabela");
  4. while ($scanrow=mysql_fetch_assoc($scan)) {
  5.  
  6. for ($i=1; $i<=14 ; $i++) {
  7.  
  8. if (file_exists($path.'/'.$scanrow['id'].'_'.$i.'.jpg')) {
  9.  
  10. //Tworzenie miniaturki, gdy nie istnieje
  11. if ($i==1 && !file_exists($path.'/thumb_'.$scanrow['id'].'_1.jpg')) {
  12. echo '[THUMB]';
  13. mini($path, $scanrow['id'].'_1.jpg');
  14. }
  15.  
  16. // Skrypt coś tam sobie robi
  17.  
  18. } else {
  19. // Nie ma pliku więc nic nie robi
  20. }
  21.  
  22. }
  23.  
  24. }

Funkcja mini jest raczej dobra bo w większości przypadków tworzy miniaturki. Nawet jak ją wykomentuję to skrypt nie wyświetla [THUMB]... Co ciekawe jak przeniosę kawałek kodu odpowiedzialny za sprawdzanie pliku i tworzenie miniaturki zaraz pod WHILE i wyrzucę IF $i==1 to działa.
erix
Ustaw sobie breakpointa i przejrzyj działanie skryptu krok-po-kroku w debuggerze.
RafalT
może to pomoże
http://www.php.net/manual/en/function.file-exists.php#81408
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.