Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Skalowanie obrazków oznaczonych jedną zmienną
andrzej_
post 25.09.2010, 13:55:25
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 11.06.2010

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


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?


Go to the top of the page
+Quote Post
bartg
post 25.09.2010, 14:38:47
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


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)

Ten post edytował bartg 25.09.2010, 14:40:02


--------------------
Go to the top of the page
+Quote Post
andrzej_
post 25.09.2010, 15:00:21
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 11.06.2010

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


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?
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: 27.04.2024 - 18:28