Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z przypisaniem kolejnosci
Forum PHP.pl > Forum > PHP
gandziorz
Witam,
Mam mały problemik, może ktoś pomoże.

Mam formularz a w nim:
  1. <input type=file name=foto1 class=inpts>
  2. <input type=file name=foto2 class=inpts>
  3. <input type=file name=foto3 class=inpts>


W pliku php działania mam:
  1. <?php
  2. for ($i=1; $i<=3; $i++) {
  3. wrzuc_zdjecia ($id,$_FILES['foto'.$i],'photo/','fotka'.$i);
  4. }
  5. ?>


I problem polega na tym.
Że jeżeli ktoś doda zdjęcie tylko do foto2 to zapisze mi sie dalej to na serwerze jako zdjecie-foto2.jpg zamiast zdjecie-foto1.jpg (bo dodaliśmy jedno zdjęcie).
A jeżeli dodam do foto1 i foto3 to na serwerze zapisze mi sie jako zdjecie-foto1.jpg i zdjecie-foto3.jpg zamiast zdjecie-foto1.jpg i zdjecie-foto2.jpg.

Wiecie o o co chodzi?
kevinsz
Przecież właśnie tak to jest napisane, że zdjęcie spod foto2 będzie zapisane jako foto2, czyż nie?

Chodzi Ci, zapewne, żeby działało tak:
  1. <?php
  2. $indeks=1;
  3. for ($i=1; $i<=3; $i++) {
  4. if(isset($_FILES['foto'.$i])){
  5.  wrzuc_zdjecia ($id,$_FILES['foto'.$i],'photo/','fotka'.$indeks);
  6. $indeks++;
  7.  }
  8. }
  9. ?>


Choć nie wiem, jakie znaczenie ma zmienna $id, być może to też numer zdjęcia?
gandziorz
Cytat(kevinsz @ 28.10.2007, 18:23:03 ) *
Przecież właśnie tak to jest napisane, że zdjęcie spod foto2 będzie zapisane jako foto2, czyż nie?

Chodzi Ci, zapewne, żeby działało tak:
  1. <?php
  2. $indeks=1;
  3. for ($i=1; $i<=3; $i++) {
  4. if(isset($_FILES['foto'.$i])){
  5.  wrzuc_zdjecia ($id,$_FILES['foto'.$i],'photo/','fotka'.$indeks);
  6. $indeks++;
  7.  }
  8. }
  9. ?>


Choć nie wiem, jakie znaczenie ma zmienna $id, być może to też numer zdjęcia?

Właśnie nie chodzi żeby tak było jak teraz.
Bo jak dodam 1 zdjęcie tylko że zamiast w input ... foto1 tylko np. w foto2 lub foto3
To zamiast zdjecie-foto1.jpg bo tak naprawdę daliśmy tylko 1 zdjęcie zostanie zapisane jako zdjecie-foto2.jpg jakby to było 2 zdjęcie.
Powyższy kod nie pomógł.
Darti
może zadziała coś takiego:

  1. <?php
  2. $counter = 0;
  3. foreach ($_FILES as $value){
  4. $counter++;
  5. $_FILES['foto'.$counter] = $value;
  6. }
  7.  
  8. for ($i=1; $i<=3; $i++) {
  9. wrzuc_zdjecia ($id,$_FILES['foto'.$i],'photo/','fotka'.$i);
  10. }
  11. ?>
kevinsz
Niestety nie wiem, jak działa funkcja wrzuc_zdjecia (), choć mogę się domyślać, że skoro moje rozwiązanie nie działa, to rozwiązanie umieszczone przez Dartiego powinno działać.
gandziorz
Dobra chłopaki żaden z waszych sposobów nie działał ale daliście mi dużo do myślenia więc sam wpadłem na taki logiczny pomysł który działa.
Prawidłowo to tak wygląda:
  1. <?php
  2. for ($i=1; $i<=3; $i++) {
  3. if (empty($counter)) {
  4. $counter = 0;
  5. }
  6. if($_FILES['foto'.$i]['name'] != ''){
  7. $counter++;
  8. wrzuc_zdjecia ($id,$_FILES['foto'.$i],'photo/','fotka'.$counter);
  9.  }
  10. }
  11. ?>


Pozdrawiam, i dziękuję za szczere chę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.