Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Skalowanie obrazków oznaczonych jedną zmienną
Forum PHP.pl > Forum > Przedszkole
andrzej_
Witam, mam mały problemik, używam znalezionego skryptu do skalowania obrazków (tylko zmiana wartości width i height), oto on:

  1. function imageResize($width, $height, $target) {
  2.  
  3. if ($width > $height) {
  4. $percentage = ($target / $width);
  5. } else {
  6. $percentage = ($target / $height);
  7. }
  8.  
  9. $width = round($width * $percentage);
  10. $height = round($height * $percentage);
  11.  
  12. return "width=\"$width\" height=\"$height\"";
  13. }


Wszystko jest ok, tyle, że aby go użyć wykonuje:

  1. $mysock = getimagesize("$obrazek");
  2.  
  3. echo "<img class=\"img\" src=\"$obrazek\" ";
  4. echo imageResize($mysock[0], $mysock[1], 550);
  5. echo " /><br /><br /></div> ";


I zaczyna się problem, bo dane z bazy wyświetlam w następujący sposób:

  1. $result=mysql_query($query);
  2. $num = mysql_num_rows ($result);
  3.  
  4. if ($num > 0 ) {
  5. $y=0;
  6. while ($y < $num) {
  7. $x = mysql_result($result,$y,"x");
  8. $s = mysql_result($result,$y,"s");
  9. $obrazek = mysql_result($result,$y,"obrazek");


Przez co po pierwszym poprawnie wyświetlonym wyniku, dostaje komunikat:

Cytat
Cannot redeclare imageresize() (previously declared in /xxx/xxx/xxx/x.php:38)


Gdzie linijka 38, to właśnie start funkcji. Wiem dlaczego pojawia się błąd, jednak nie wiem jak go naprawić. Próbowałem użyć if(!function_exists('xxx')), ale nie jest to dobre rozwiązanie.

Macie jakieś pomysły?


bartg
Dokładnie jak pisze, identyczna funkcja tworzona jest w pliku x, na lini 38. Prawdopodobnie dałeś po prostu function w jakiejś pętli (while?) - przenieś funkcję na koniec pliku zaraz przed ?>

Innym rozwiązaniem może być, że plik includujesz kilka razy (w tym wypadku include zamien na require_once)
andrzej_
Faktycznie. Teraz lepiej.

Z tym, że strona dosyć opornie się ładuje, czy jest to spowodowane tym, że obrazek jest jako jedna zmienna która w pętli się zmienia?
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.