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" 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:26