Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapis kilkunastu zdjęć z kamerek internetowych na server
slawekxx
post
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 2
Dołączył: 28.08.2010

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


Witam , mam taki mały skrypt do zapisu zdjęć z kamerek internetowych
  1. $strSrc = file_get_contents('http://users.otenet.gr/~vyncenzo/vodas/para5.jpg');
  2. $data = date("d-m-Y H:i");
  3. $nazwa_pliku = $data ;
  4. $gdobj = imagecreatefromstring($strSrc);
  5. imagepng($gdobj);
  6. $strDest = ob_get_contents();
  7.  
  8. // obraz wynikowy jest gotowy
  9. file_put_contents("$nazwa_pliku.jpg", $strDest);
  10.  
  11. //tworzenie miniatur
  12. $min_nazwa_pliku=date("d-m-Y H:i").'.jpg';
  13. include('SimpleImage.php');
  14. $image = new SimpleImage();
  15. $image->load('http://users.otenet.gr/~vyncenzo/vodas/para5.jpg');
  16. $image->resize(180,121);
  17. $image->save('min/'.$min_nazwa_pliku);
  18.  
ale teraz mam problem bo zapisuje tylko jedno zdjęcie a adresowych, które mnie interesują jest 20 jak mam zmodyfikować ten skrypt ?
Go to the top of the page
+Quote Post
Przem4S
post
Post #2





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


Wydaje mi się że tworzenie powinno być w pętli, a adresy które Cię interesują powinny być w tablicy.
Np coś takiego:
  1. // Tablica z adresami zdjęć z kamerek (url'e przykładowe)
  2. $kamerki = array(
  3. 'http://users.otenet.gr/~vyncenzo/vodas/para5.jpg', 'http://users.otenet.gr/~vyncenzo/vodas/para6.jpg', 'http://users.otenet.gr/~vyncenzo/vodas/para7.jpg', 'http://users.otenet.gr/~vyncenzo/vodas/para8.jpg', 'http://users.otenet.gr/~vyncenzo/vodas/para9.jpg', 'http://users.otenet.gr/~vyncenzo/vodas/para10.jpg'
  4. );
  5. // Zliczenie ilości adresów
  6. $n = count($kamerki);
  7.  
  8. for($i=0;$i<$n;$i++)
  9. {
  10. $strSrc = file_get_contents($kamerki[$i]);
  11. $data = date("d-m-Y H:i");
  12. $nazwa_pliku = $data ;
  13. $gdobj = imagecreatefromstring($strSrc);
  14. imagepng($gdobj);
  15. $strDest = ob_get_contents();
  16.  
  17. // obraz wynikowy jest gotowy
  18. file_put_contents("$nazwa_pliku._$i.jpg", $strDest);
  19.  
  20. //tworzenie miniatur
  21. $min_nazwa_pliku=date("d-m-Y H:i").'.jpg';
  22. include('SimpleImage.php');
  23. $image = new SimpleImage();
  24. $image->load($kamerki[$i]);
  25. $image->resize(180,121);
  26. $image->save('min/'.$min_nazwa_pliku);
  27. }


Ten post edytował Przem4S 17.11.2012, 12:05:30
Go to the top of the page
+Quote Post
slawekxx
post
Post #3





Grupa: Zarejestrowani
Postów: 189
Pomógł: 2
Dołączył: 28.08.2010

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


w pętli tworzy mi się tylko jedno zdjęcie plik ! na stronie pisze błąd serwera nie można załadować strony
Go to the top of the page
+Quote Post
Przem4S
post
Post #4





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


No jak użyłeś szywcem mojego przykładu to tak gdyż urle dałem tylko przykładowe (więc zapewne są "not found" (IMG:style_emoticons/default/tongue.gif) ), zapisuje tylko jeden plik gdyż jako nazwe podałeś datę, do niej należy podać parametr '_'.$i wtedy zapisze kilka zdjęć
np:
17_11_2012_13_10_1.jpg
17_11_2012_13_10_2.jpg
17_11_2012_13_10_3.jpg
itd..

Musi zapisywać z tym parametrem bo inaczej zdjęcia się nadpisują i pozostaje tylko to ostatnie.
Go to the top of the page
+Quote Post
slawekxx
post
Post #5





Grupa: Zarejestrowani
Postów: 189
Pomógł: 2
Dołączył: 28.08.2010

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


ok poprawiłem
  1. $kamerki=array("http://www.in-karystos.gr/camera/rafina.jpg",
  2. "http://www.in-karystos.gr/camera/current.jpg",
  3. "http://streaming.syzefxis.gov.gr/images/current.jpg",
  4. "http://users.otenet.gr/~vyncenzo/vodas/para5.jpg",
  5. "http://users.otenet.gr/~epigeo/parga.jpg");
  6.  
  7. // Zliczenie ilości adresów
  8. $n = count($kamerki);
  9.  
  10. for($i=0;$i<$n;$i++)
  11. {
  12. $strSrc = file_get_contents($kamerki[$i]);
  13. $data = date("d-m-Y H:i");
  14. $nazwa_pliku = $data .'_'.$i ;
  15. $gdobj = imagecreatefromstring($strSrc);
  16. imagepng($gdobj);
  17. $strDest = ob_get_contents();
  18.  
  19. // obraz wynikowy jest gotowy
  20. file_put_contents("$nazwa_pliku._$i.jpg", $strDest);
  21.  
  22. //tworzenie miniatur
  23. $min_nazwa_pliku=date("d-m-Y H:i").'_'.$i.'.jpg';
  24. include('SimpleImage.php');
  25. $image = new SimpleImage();
  26. $image->load($kamerki[$i]);
  27. $image->resize(180,121);
  28. $image->save('min/'.$min_nazwa_pliku);
  29. }



Ten post edytował slawekxx 17.11.2012, 14:04:06
Go to the top of the page
+Quote Post
Przem4S
post
Post #6





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


Wypisz sobie jakiś tekst w pętli i zobacz ile razy pętla przeszła, np dodaj coś takiego
  1. $kamerki=array("http://www.in-karystos.gr/camera/rafina.jpg",
  2. "http://www.in-karystos.gr/camera/current.jpg",
  3. "http://streaming.syzefxis.gov.gr/images/current.jpg",
  4. "http://users.otenet.gr/~vyncenzo/vodas/para5.jpg",
  5. "http://users.otenet.gr/~epigeo/parga.jpg");
  6.  
  7. // Zliczenie ilości adresów
  8. $n = count($kamerki);
  9.  
  10. for($i=0;$i<$n;$i++)
  11. {
  12. // obieg pętli
  13. echo "Obieg pętli nr.$i";
  14.  
  15.  
  16. $strSrc = file_get_contents($kamerki[$i]);
  17. $data = date("d-m-Y H:i");
  18. $nazwa_pliku = $data .'_'.$i ;
  19. $gdobj = imagecreatefromstring($strSrc);
  20. imagepng($gdobj);
  21. $strDest = ob_get_contents();
  22.  
  23. // obraz wynikowy jest gotowy
  24. file_put_contents("$nazwa_pliku._$i.jpg", $strDest);
  25.  
  26. //tworzenie miniatur
  27. $min_nazwa_pliku=date("d-m-Y H:i").'_'.$i.'.jpg';
  28. include('SimpleImage.php');
  29. $image = new SimpleImage();
  30. $image->load($kamerki[$i]);
  31. $image->resize(180,121);
  32. $image->save('min/'.$min_nazwa_pliku);
  33. }


Konkretnie linia 12/13.
I zobacz co Ci się zwróci na stronie.

Ten post edytował Przem4S 17.11.2012, 13:42:49
Go to the top of the page
+Quote Post
slawekxx
post
Post #7





Grupa: Zarejestrowani
Postów: 189
Pomógł: 2
Dołączył: 28.08.2010

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


ok znalazłem przyczynę i kolejny problem parę linijek do tworzenia miniatur jest za to odpowiedzialne jak je usunę działa prawidłowo , i teraz nie wiem jak to rozwiązać żeby również tworzyły się miniaturki
Go to the top of the page
+Quote Post
Przem4S
post
Post #8





Grupa: Zarejestrowani
Postów: 103
Pomógł: 3
Dołączył: 26.07.2010
Skąd: Tychy

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


Zapewne możesz trochę to skrócić wyciągająć z pętli takie rzeczy jak includowanie pliku, tworzenie obiektu z klasy, gdyż przy każdej pętli one się powtarzają co może prowadzić do błędu.
Czyli spróbuj dać przed instrukcją for :
include('SimpleImage.php');
$image = new SimpleImage();

a w instrukcji for to usuń.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 13:39