Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pętla for
Krisu
post 2.05.2008, 21:36:11
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Mam taki kod
  1. <?php
  2. $image2 = imagecreatefromgif(stala_url . $nat1 . '2.gif');
  3. imagecopymerge($image, $image2, $begin + $end_eja + $weja0['w'] + $end_eja + $end_eja + $ua1, $hn1, 0, 0, 16, 16, 100);
  4.  
  5. $image2 = imagecreatefromgif(stala_url . $nat1 . '3.gif');
  6. imagecopymerge($image, $image2, $begin + $end_eja + $weja0['w'] + $end_eja + $end_eja + $weja1['w'] + $end_eja + $end_eja + $ua2, $hn1, 0, 0, 16, 16, 100);
  7. ?>

Szybko można dojść do wniosku, że można ten kod zapętlić, zwłaszcza, gdy występują kolejne przykłady. Dlatego postanowiłem zapętlić 8 z nich:

  1. <?php
  2. $a = 0;
  3.  
  4. for ($i = 0; $i <= 7; $i++) {
  5.  
  6. $a += ${'weja'.$i}['w'] + 2 * $end_eja;
  7.  
  8. $image2 = imagecreatefromgif(stala_url . $nat1 . $i + 2 .'.gif');
  9. imagecopymerge($image, $image2, $begin + $end_eja + $a + $ua . $i + 1, $hn1, 0, 0, 16, 16, 100);
  10.  
  11. }
  12. ?>
Ale napotkałem taki błąd.
Cytat
Warning: imagecreatefromgif(2.gif) [function.imagecreatefromgif]: failed to open stream: No such file or directory
Co może być przyczyną?

Stała jest tak zdefiniowana
  1. <?php
  2. define('stala_url', "images/");
  3. ?>
i znajduje sie w oddzielnym pliku, ktory pozniej jest includowany. Reszta zmiennych jest w tym samym pliku.

Ten post edytował Krisu 2.05.2008, 21:47:21
Go to the top of the page
+Quote Post
piotrekkr
post 2.05.2008, 21:46:28
Post #2





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Nie ma takiego pliku 2.gif w tym katalogu co skrypt...
Go to the top of the page
+Quote Post
Krisu
post 2.05.2008, 21:48:54
Post #3





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Cytat(piotrekkr @ 2.05.2008, 22:46:28 ) *
Nie ma takiego pliku 2.gif w tym katalogu co skrypt...
Spóźniłem się trochę z edycją posta.

Tak wiem, że nie ma, ale właśnie ścieżką dostępu jest stała.
Go to the top of the page
+Quote Post
piotrekkr
post 2.05.2008, 21:51:56
Post #4





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Użyj:

  1. <?php
  2. var_dump(stala_url . $nat1 . $i + 2 .'.gif');
  3. ?>


w pętli to ci wyswietli to co dostaje finkcja imagecreatefromgif.
Go to the top of the page
+Quote Post
Krisu
post 2.05.2008, 21:58:45
Post #5





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


  1. <?php
  2. string(5) "2.gif"
  3. Warning: imagecopymerge(): supplied argument is not a valid Image resource
  4. ?>
Oto wynik :]
Go to the top of the page
+Quote Post
piotrekkr
post 2.05.2008, 22:02:51
Post #6





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


ee troche nie w tym miejscu uzyles tongue.gif
chodzilo mi ze przed instrujkcja $image2 ....:
  1. <?php
  2. for ($i = 0; $i <= 7; $i++) {
  3.  
  4. $a += ${'weja'.$i}['w'] + 2 * $end_eja;
  5. var_dump(stala_url . $nat1 . $i + 2 .'.gif');
  6. $image2 = imagecreatefromgif(stala_url . $nat1 . $i + 2 .'.gif');
  7. imagecopymerge($image, $image2, $begin + $end_eja + $a + $ua . $i + 1, $hn1, 0, 0, 16, 16, 100);
  8.  
  9. }
  10. ?>

ale i tak pokazuje to ze nie wstawia pelnej sciezki pliku... wiec w parametrach musi byc blad;

Ten post edytował piotrekkr 2.05.2008, 22:03:57
Go to the top of the page
+Quote Post
Krisu
post 2.05.2008, 22:05:32
Post #7





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


To w takim razie to jest wynik string(6) "10.gif"
Go to the top of the page
+Quote Post
piotrekkr
post 2.05.2008, 22:10:36
Post #8





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


No czyli widzisz ze stala nie jeste zdefiniowana bo inaczej by ja wyswietlilo string(13) "images/10.gif" a nie string(6) "10.gif". Moze masz cos nie tak z includem albo nie definiujesz stalej dobrze

Ten post edytował piotrekkr 2.05.2008, 22:11:07
Go to the top of the page
+Quote Post
Krisu
post 2.05.2008, 22:29:50
Post #9





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Cytat(piotrekkr @ 2.05.2008, 23:10:36 ) *
No czyli widzisz ze stala nie jeste zdefiniowana bo inaczej by ja wyswietlilo string(13) "images/10.gif" a nie string(6) "10.gif". Moze masz cos nie tak z includem albo nie definiujesz stalej dobrze
Niestety, ale jak zrobię tak,
  1. <?php
  2. var_dump('images/' . $nat1 . 2 + $i .'.gif');
  3. ?>
to wyswiela string(6) "10.gif"

Ten post edytował Krisu 2.05.2008, 22:32:22
Go to the top of the page
+Quote Post
piotrekkr
post 2.05.2008, 22:35:56
Post #10





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Hmm a zrob tak:
  1. <?php
  2. for ($i = 0; $i <= 7; $i++) {
  3.  
  4. $a += ${'weja'.$i}['w'] + 2 * $end_eja;
  5. var_dump(stala_url, $nat1);
  6. $image2 = imagecreatefromgif(stala_url . $nat1 . $i + 2 .'.gif');
  7. imagecopymerge($image, $image2, $begin + $end_eja + $a + $ua . $i + 1, $hn1, 0, 0, 16, 16, 100);
  8.  
  9. }
  10. ?>

ale widzac po twoim wczesniejszym poscie blad jest chyba w $nat1 ale nie dam glowy. Napisz co wyswietla to co ci napialem.

Ten post edytował piotrekkr 2.05.2008, 22:39:50
Go to the top of the page
+Quote Post
Krisu
post 2.05.2008, 22:50:48
Post #11





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Wiem gdzie jest błąd związany z var_dump.

Otóż powinno być nie $i + 2, lecz ($i + 2). Zaraz sprawdze czy się nie mylę.

  1. <?php
  2. for ($i = 0; $i <= 7; $i++) {
  3.  
  4. $a += ${'weja'.$i}['w'] + 2 * $end_eja;
  5.  
  6. $image2 = imagecreatefromgif(stala_url . $nat1 . ($i + 2) .'.gif');
  7. imagecopymerge($image, $image2, $begin + $end_eja + $a + $ua . ($i + 1), $hn1, 0, 0, 16, 16, 100);
  8.  
  9. }
  10. ?>


I już wszystko prawie działa ale nie nanosi 6 obrazka smile.gif Chyba już sobie z tym poradzę. Mimo wszystko dzięki za pomoc.

Ten post edytował Krisu 2.05.2008, 22:57:09
Go to the top of the page
+Quote Post
piotrekkr
post 2.05.2008, 23:00:27
Post #12





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


Heh chyba masz racje biggrin.gif nie zauwazylem tego. Chyba za duzo siedze przed kompem smile.gif Powodzenia
Go to the top of the page
+Quote Post
Krisu
post 2.05.2008, 23:17:41
Post #13





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

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


Dzięki wielkie smile.gif
Oto ostateczny wynik, zamieszczam dla tych co może kiedyś będą mieli podobny problem.

  1. <?php
  2. $a = 0;
  3.  
  4. for ($i = 0; $i <= 7; $i++) {
  5.  
  6. $a += ${'weja'.$i}['w'] + 2 * $end_eja;
  7.  
  8. $image2 = imagecreatefromgif(stala_url . $nat1 . ($i + 2) .'.gif');
  9. imagecopymerge($image, $image2, $begin + $end_eja + $a + ${'ua'.($i + 1)}, $hn1, 0, 0, 16, 16, 100);
  10.  
  11. }
  12. ?>
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: 8.07.2025 - 03:27