Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wyświetl obrazek z folderu
Forum PHP.pl > Forum > PHP
kamykthm
To jest bardziej pytanie chyba logistyczne jak techniczne, chociaż i kod jeśli ktoś ma pod ręką by się przydał smile.gif
Rozchodzi mi się o to, że w danym folderze np.: xyz, mam 100 obrazków i chciałbym aby przy każdym np. odświezniu strony, wyświetał mi jeden obrazek, i nigdy więcej go nie wyświetlił.
Jak to zrobić? Może być i plik txt nie koniecznie baza, abym nie musiał dodawać ręcznie img do bazy.

Z góry będę wdzięczny za każdą radę.
ShadowD
Najłatwiej - wczytywać jakikolwiek, a potem usuwać. ;P

A tak idąc bardzo na skróty w totalcommander masz narzędzie do wielokrotnej zmiany nazw plików, zmień tak by były z zakresu 0001-9999. w pliku licznik.txt wpisz sobie 1, poszukaj w necie jakiegoś tutka do napisania licznika odwiedzin, ale zamiast wyświetlać ile osób weszło na stronę wyświetlaj obrazek o takiej liczbie.

Tak na prawdę możesz napisać sobie sam ten kod:
1. pobierasz zawartość pliku
2. wyświetlasz img src=$nrFile /
3. nadpisujesz plik wartością $nrFile++

Jeśli chcesz być pewnym że nikt nie zobaczy 2 razy pliku musisz blokować dostęp do pliku *.txt przed odczytaniem danych, następnie podnosić wartość o 1 i odblokowywać go - tak by przy wielu wizytach na raz kod się nie pomieszał, a pliki nie mają kolejkowania wbudowanego tak jak mysql.
kamykthm
  1. <?php
  2. $imgdir = 'pic/'; //Pick your folder
  3. $allowed_types = array('png','jpg','jpeg','gif'); //Allowed types of files
  4. $dimg = opendir($imgdir);//Open directory
  5. while($imgfile = readdir($dimg))
  6. {
  7. if( in_array(strtolower(substr($imgfile,-3)),$allowed_types) OR
  8. in_array(strtolower(substr($imgfile,-4)),$allowed_types) )
  9. /*If the file is an image add it to the array*/
  10. {$a_img[] = $imgfile;}
  11. }
  12. $totimg = count($a_img); //The total count of all the images
  13. //Echo out the images and their paths incased in an li.
  14.  
  15. sort($a_img,SORT_NUMERIC);
  16. for($x=0; $x < $totimg; $x++){$imgdir .'999_'. $a_img[$x];
  17. rename( $imgdir . $a_img[$x], $imgdir . '999_'. $a_img[$x] );
  18. }
  19. ?>


Da rade to maksymalnie uprościć?
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.