Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Listowanie katalogów a selekty i automatyczna zmiana nazw plików
Forum PHP.pl > Forum > PHP
pikornecki
Witam,

Listuję katalogi a następnie wstawiam do selecta standardowo tj:
  1. $katalog = "scierzka/path";
  2. $dir = opendir($katalog);
  3.  
  4. echo '<select name="imageToDeleteFromRotator" class="select_pozycja">';
  5. if ($dir) {
  6. $count = 0;
  7. while ($file = readdir($dir)) {
  8. ;
  9. if (($file == "..") || ($file == ".") || ($file == ".DS_Store"))
  10. continue;
  11. else if (is_file($katalog . $file)) {
  12. echo '<option value="' . $file . '" name="' . $file . '">' . $file . '</option>';
  13. }
  14. $count = $count + 1;
  15. }
  16. closedir($dir);
  17. echo "</select>";
  18. }
  19. echo '</div>';

No i listuje pięknie tylko nie po kolei, np:
1.jpg
10.jpg
11.jpg
2.jpg.
3.jpg
itd...

Jak zrobić żeby jednak po kolei się ustawiło?

Kolejna rzecz, mam sobie już selekta z wylistowanymi graficzkami w jpg i chcę sobie któregoś usunąć ale od razu chcę też poprawić nazwy plików np kiedy wywalam plik 4.jpg to chcę że by pozostałe pozmieniały swoją wartość tak żeby zachować kolejność 1,2,3,4,5,6,7 .itd, tak więc:
  1. $file = $_POST['imageToDeleteFromRotator']; /* to z tego selekta wyżej */
  2. if ($file != 'none') {
  3. $count = 1;
  4. $dir = opendir($path);
  5. if ($dir) {
  6. unlink($path.$file);
  7. $_SESSION['message'] = 'Plik ' . $file . ' został usunięty.';
  8. }
  9.  
  10. while ($file2 = readdir($dir)) {
  11. if (($file2 == "..") || ($file2 == ".") || ($file2 == ".DS_Store"))
  12. continue;
  13. else if (is_file($path.$file2)) {
  14. rename($path.$file2, $path."zdj$count.jpg");
  15. $count++;
  16. }
  17. }
  18. $count = 0;
  19. closedir($dir);
  20. }

tu jednak mały bug, jeśli jest mniej niż 10 plików to jest ok, powyżej tej liczby źle zmienia te nazwy i z 36 plików po usunięciu 1 zostaje np. 12 reszta gdzieś ginie. CO TU JEST ŹLE?

Z góry dzięki za pomoc.

EDIT: przepraszam, na bb poprawione:)
nospor
Po pierwsze i najważniejsze: używaj bbcode.

ad1
Wczoraj omawiany identyczny problem
Temat: sortowanie zdjec w galerii
pikornecki
NO bardzo dziękuję za SŁUSZNĄ podpowiedź smile.gif Zdecydowanie pakowanie do tablicy ułatwi mi też zmianę nazw elementów smile.gif
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.