Witam,

Mam mały problem z kamerą Foscam a raczej z zamieszczeniem obrazu na stronie internetowej bez opcji logowania. Niestety od producenta nie uzyskałem wyczerpującej odpowiedzi czy można umieścić obraz z kamery na stronie bez logowania do kamery, tzn otrzymałem - TAK, i to wszystko.
Kamera ma opcję przesyłania zdjęć na ftp przy zadeklarowanym czasie i przesyła mi pliki na serwer.
Zdjęcie przyjmuje nazwę: mac_alias_dokładna-data_nr-zdjecia-z-danego-dnia.jpg

Troche szukałem po internecie i udało mi się zrobić coś takiego:

  1. $lista = array();
  2. foreach (glob('kamera2/*.jpg') as $nazwa_pliku)
  3. {
  4. $lista[$nazwa_pliku] = $nazwa_pliku;
  5. }
  6. arsort($lista);
  7. $i=0;
  8. foreach($lista as $plik)
  9. {
  10. $i++;
  11. if($i>1)
  12. {
  13. unlink($plik);
  14. }
  15. if($i==1)
  16. {
  17. rename($plik,"kamera2/000000000000.jpg");
  18. }
  19. //echo '<br />'.$i.') '.$plik;
  20. }
  21. echo'<br /><br /><br /><br /><img src="kamera2/000000000000.jpg" alt="" />';


zamieszczam przykład sortowania bez usuwania plików:

  1. 1) kamera2/00606E8FFFFF(Kamera_Grill)_0_20101109202902_356.jpg
  2. 2) kamera2/00606E8FFFFF(Kamera_Grill)_0_20101109202858_355.jpg
  3. 3) kamera2/00606E8FFFFF(Kamera_Grill)_0_20101031164303_2.jpg
  4. 4) kamera2/00606E8FFFFF(Kamera_Grill)_0_20101031164157_1.jpg
  5. 5) kamera2/00606E8FFFFF(Kamera_Grill)_0_20101031164056_0.jpg
  6. 6) kamera2/00606E8FFFFF(Kamera_Grill)_0_20101031164009_0.jpg
  7. 7) kamera2/000000000000.jpg


Zasada działania - usuń wszystkie oprócz najnowszego zdjęcia i zmień mu nazwę do której później odwołuję się na stronie.
Działać działa jednak czasami nie ma obrazu na stronie - po ponownym odświeżeniu obraz się pojawia.

Pojawia mi się taki błąd:

Warning: rename(kamera2/00606E8FFFFF(Kamera_Grill)_0_20101109203002_370.jpg,kamera2/000000000000.jpg): File exists in c:\usr\apache\httpd\html\kam\index.php on line 23

Może ktoś pomoże mi to przerobić bo na pewno lepiej by było gdyby zmiana nazwy pliku była poza pętlą. Może ktoś już przerabiał tą kamerę i jest sposób na zamieszczenie obrazu bez tych kombinacji.

Pozdrawiam

no cóż nikt nie pomógł to zrobiłem sam, może komuś się przyda.
nie wiem czy jest to zrobione bardzo dobrze ale mi wystarczy

  1. $lista = array();
  2. $ilosc_plikow = count(glob('kamera2/*.jpg'));
  3. if (file_exists('kamera2.jpg'))
  4. {
  5. if($ilosc_plikow > 1)
  6. {
  7. foreach (glob('kamera2/*.jpg') as $nazwa_pliku)
  8. {
  9. $lista[$nazwa_pliku] = $nazwa_pliku;
  10. }
  11. arsort($lista);
  12. copy($lista["$nazwa_pliku"],"kamera2.jpg") or die("Błąd przy kopiowaniu");
  13. foreach($lista as $plik)
  14. {
  15. unlink($plik);
  16. }
  17. }
  18. echo '<br /><br /><br /><br /><img src="kamera2.jpg" alt="" />';
  19. }