Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Dopasowanie wyświetlanych nazw plików
-stygma-
post 10.11.2007, 13:41:18
Post #1





Goście







Skrypt tworzy miniaturki obrazków znajdujących się w katalogu zawierającym nie tylko pliki graficzne. Nazwom miniaturek dodaje sufiks "_mini" do nazwy:
obrazek.gif
obrazek_mini.gif

Nazwy plików mogą zawierać wszelkie możliwe znaki i wielkość znaków, ich rozszerzenia mogą mieć różną wielkośc znaków.

Chodzi o fragment skryptu, który wyświetli listę plików obrazków źródłowego i zmniejszonego obok siebie i ewentualnych pozostałych obrazków (docelowo przed nazwami żródłowych będą checkboxy):

obrazek1.gif obrazek1_mini.gif
obrazek2.JPEG
Obr234.jpg Obr234_mini.jpg
ŁaDnY obrazek_3.png ŁaDnY obrazek_3_mini.png


Kod:

  1. <?php
  2. while (readdir nie jest false) {
  3. if (plik istnieje i jest obrazkiem) {
  4. if (w nazwie zawiera sufiks) {
  5. // przyjmuje zmienną $mini
  6. } else {
  7. //przyjmuje zmienną $zrodlowy
  8. }
  9. if ($zrodlowy ma identyczne rozszerzenie jak $mini) i (nazwa $mini po usunięciu sufiksu i rozszerzenia jest identyczna, jak nazwa $zrodlowy po usunieciu rozszerzenia) {
  10. echo "$zrodlowy $mini<br>";
  11. }
  12. }
  13. }
  14. ?>


wyświetla poprawnie tylko część par plików.
Proszę o podpowiedź jaką funkcję użyć, aby stworzyć tablicę, czy pętlę z tablicą odczytującą każdy plik po kolei i dopasowującą mu jego odpowiednik "mini", a w razie braku wyświetlającą puste miejsce zamiast nazwy miniaturki obok niego.
Nie ukrywam, że tablice dla mnie to czarna magia, co pewnie widać po powyższym kodzie...

Nie wchodzi w rachubę glob(), explode(), ani żadne funkcje informacji o pliku - filemtime(), filectime(), fileatime(). Pliki muszą być wczytywane readdir(), tylko php.

pozdrawiam stygma
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 22:54