Web Design Ieftin

0765 297 688

0

Script preluare webcam jurnalul

» Scris in categoria: JavaScript, PHP, Scripturi Utile — @ 17:18

Am avut nevoie acum ceva timp de un script prin care sa preiau un webcam de la jurnalul national pentru proprietarul unei pensiuni pe care era amplasat acel webcam.

Prima solutie a fost aceea de a introduce un iframe care ducea catre jurnalul si cu niste pozitii absolute definite in CSS care faceau sa apara acel webcam, insa problema era ca cei de la jurnalul national avea niste bannere care se schimbau periodic si modificau pozitia  chenarului cu imaginea respectiva si nu se vedea intotdeauna corect.

Solutia finala este putin mai complexa, dar functioneaza perfect si, avand in vedere faptul ca am vazut destui de multi design-eri care cauta asa ceva si nu prea gasesc m-am hotarat sa o postez aici…

Tineti cont de faptul ca eu ofer o solutie pentru o problema, un script… dar nu sunt raspunzator de modul in care folositi acest script, in mod normal fiind nevoie de acordul celor de la jurnalul national pentru preluarea acelor webcam-uri.

Varianta prezentata de mine este functionala, testata dar va trebuie sa completati campurile indicate cu datele site-ului/serverului vostru.

Pentru o intelegere cat mai buna vom folosi fisiere diferite pentru generare, afisare, refresh si salvare cookie-uri… deci veti avea nevoie de urmatoarele fisiere:

1. un fisier cookie.txt care sa salveze cookie-urile, sa contina urmatorul cod:

# Netscape HTTP Cookie File

# http://curl.haxx.se/rfc/cookie_spec.html

# This file was generated by libcurl! Edit at your own risk.

www.jurnalul.ro	FALSE	/	FALSE	0	PHPSESSID	45d6dvc193udqusieehrgp3h87

www.jurnalul.ro	FALSE	/	FALSE	0	SERVERID	A

2. Un fisier webcam.php care sa preia “calea” catre imaginile generate de webcam si care sa contina urmatorul cod:

<?php 

$ch=curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://www.jurnalul.ro/calea-catre-pagina-unde-e-webcam-ul.html'); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); 

curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); 

$rezultat=curl_exec($ch); 

curl_close($ch);

$url_pic = substr($rezultat, strpos($rezultat, 'src="/camere_video')+5); 

$url_pic = 'http://www.jurnalul.ro'.substr($url_pic, 0, strpos($url_pic, '"'));

$ch = curl_init ($url_pic); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); 

curl_setopt($ch, CURLOPT_COOKIEFILE, "/calea/absoluta/catre/cookie.txt"); 

curl_setopt($ch, CURLOPT_COOKIEJAR, "/calea/absoluta/catre/cookie.txt"); 

$image_source = curl_exec ($ch); 

curl_close ($ch);

echo "$image_source";

?> 

3. Calea catre acea imagine generata se schimba constant la cateva secunde (pentru ca acele “poze” sa fie afisate ca o “filmare”) iar daca vom afisa imaginea direct folosind acea cale ar trebui sa dam intr-una refresh la html-ul care va contine webcam-ului, ceea ce e cam “tras de par”. In schimb vom folosi un script care va schimba link-ul constant foarte simplu. In cazul de fata l-am numit script.js si contine:

newImage = new Image();
	function LoadNewImage()
	{
		var unique = new Date();
		document.images.webcam.src = newImage.src;
		newImage.src = "http://www.site-ul-tau.com/webcam.php?time=" + unique.getTime();
	}
	function InitialImage()
	{
		var unique = new Date();
		newImage.onload = LoadNewImage;
		newImage.src = "http://www.site-ul-tau.com/webcam.php?time=" + unique.getTime();
		document.images.webcam.onload="";
	}

 

4. Si in final… codul html pentru afisarea webcam-ului:

<script src="script.js" type="text/javascript"></script> 

<img src="http://www.site-ul-tau.com/webcam.php" name="webcam" width="640" onload="InitialImage()">

 

In cazul din exemplu toate fisierele au fost puse in acelasi director, public_html dar evident puteti sa modificati toate caile, atata timp cat vor fi corecte.

Sper ca v-a fost de folos acest articol.



Comentarii (0)

Lasă un răspuns

Ultimele Articole

Categorii

  • COMENTARII RECENTE
  • Cristina B: N-am pag. web, dar doresc sa-mi fac una prin forte proprii. N-am nici suficienti bani sa platesc asemenea...
  • admin: adauga: background-repeat: repeat;
  • Mihnea: am si eu o problema am incercat cu background-image:url(”); dar imi afiseaza imaginea doar pe o bucata...
  • Florin: foarte interesant articolul
  • Web Design: Un articol bun

Web Design: Oferta Lunii martie

Magazin Online doar 300 euro