Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] Kilka plików w processUploadedFile, sf 1.2, admin
Foxx
post 3.08.2009, 02:02:31
Post #1





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Witajcie.
Załóżmy, że dodaję w adminie artykuł. Załóżmy, że artykuł ma obrazek, który ładuję i nie ma z tym problemów.
Dalej, chcę jeszcze po uploadzie zeskalować ten obraz - to nie problem, tworzę w ArtykulForm metodę processUploadedFile() i w niej modyfikuję obraz. Wygląda to mniej więcej tak:

  1. <?php
  2. protected function processUploadedFile($field, $filename = null, $values = null) {
  3.  $fn = parent::processUploadedFile($field, $filename, $values);
  4.  // zmniejszanie obrazka np. za pomocą sfThumbnail            
  5.  return $fn;
  6. }
  7. ?>


Ale co mam zrobić, jeżeli artykuł ma dwa obrazki, chciałbym je oba skalować. Wynika to z jakichś moich braków ale nie wiem jak to ugryźć, nie można przecież zrobić po prostu tak:
  1. <?php
  2. protected function processUploadedFile($field, $filename = null, $values = null) {
  3.  $fn = parent::processUploadedFile('plakat', $filename, $values);
  4.  // zmniejszanie obrazka np. za pomocą sfThumbnail    
  5.        
  6.  $fn = parent::processUploadedFile('drugi_obrazek', $filename, $values);
  7.  // zmniejszanie...
  8.  return $fn;
  9. }
  10. ?>

Bo zwracam w ten sposób nazwę drugiego obrazka a pierwszego nie i ten nie zostanie zapisany. Domyślam się, że albo trzeba jakoś manipulować argumentami albo w ogóle inaczej to rozwiązać bo nie wyobrażam sobie jak mam zwrócić nazwy obu plików w jednej metodzie. Będę wdzięczny za podpowiedź.
Go to the top of the page
+Quote Post
destroyerr
post 3.08.2009, 06:57:36
Post #2





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


To zależy, nie wiemy jak wygląda Twoja baza. Chcesz dwa pliki wsadzać do jednego kolumny i oddzielać jakimś magicznym znakiem? Jeśli tak, to jest to zły pomysł.
Go to the top of the page
+Quote Post
Foxx
post 3.08.2009, 07:20:43
Post #3





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Nie, nie - tabela w wygląda mniej więcej tak:

artykul:
- id:
- tytul:
- plakat:
- drugi_obrazek:
Go to the top of the page
+Quote Post
destroyerr
post 3.08.2009, 08:00:05
Post #4





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


No to przecież funkcja processUploadedFile zostanie wykonana dwa razy. Konkretnie to dla każdego pola, którego walidator jest instancją sfValidatorFile.
Go to the top of the page
+Quote Post
Foxx
post 3.08.2009, 08:09:16
Post #5





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Rozumiem, czyli trzeba to rozwiązać tak:
  1. <?php
  2. $fn = parent::processUploadedFile($field, $filename, $values);
  3.  
  4. if ($field == 'plakat') {
  5.  //...
  6. } else if($field == 'drugi_obrazek'){
  7.  //...
  8. }
  9. ?>

tak? Zresztą, sprawdzę to smile.gif Dzięki!
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: 28.06.2025 - 01:07