Newsgroup: it.lavoro.professioni.webmaster
Titolo: Php webcam con banner cliccabile integrato: possibile?

Salve ragazzi,
vorrei rendere i banner presenti nella parte bassa di questo php cliccabili 
(ovvero rendendoli dei link): quale modifica devo apportare al codice php?
http://www.sassimatera.net/webcam/cam.php
 
 
Grazie
 
Luca 
 


E che c'entra con php?
Al massimo c'entra con l'html
google -> html map
M
 
-- 
I fatti mi cosano

 google -> html map
 
Ciao Marco,
grazie mille per la risposta!
Ho dato un'occhiata ad alcuni siti che parlano di html map e sembra molto 
interessante per realizzare delle mappe cliccabili.
Tuttavia non sono sicuro che questa soluzione sia adatta alle mie esigenze.
Spiego meglio cosa voglio fare: supponiamo che tu sia interessato alla mia 
webcam e la inserisca sul TUO sito web - ovviamente punterai il file 
http://www.sassimatera.net/webcam/cam.php
 
 
I banner che visualizzerai nella parte bassa dell'immagine sul TUO sito non 
saranno cliccabili: come fare per renderli tali?
In altre parole desidero che i banner presenti su quell'immagine siano 
cliccabili su qualsiasi sito che mostri la mia webcam (quindi anche su 
questo sito: 
http://www.wikimatera.it/home/index.php
) e non solo sul mio.
Probabilmente starò dicendo una cavolata colossale, ma non vedo come del 
codice htlm inserito sul mio sito possa rendere cliccabile il banner quando 
quest'ultimo viene visualizzato su un altro sito.
Non mi servirebbe piuttosto uno script?
 
Grazie infinite
 
Luca
 
 


Ciao


 Secondo te cosa visualizzo se integro la tua webcam in un sito?
 
Penso di aver capito cosa intendi, però visualizzo la mappa creata solo 
all'interno della pagina html, quindi il sito terzo dovrebbe puntare la 
pagina html che contiene la mappa?
Così facendo, l'aggiornamento dell'immagine sarà automatico anche sul sito 
terzo?
Poi c'è un altro problema (forse minore) da risolvere, ovvero come 
assemblare 2 immagini diverse (immagine della webcam che si aggiorna 
continuamente + immagine del banner) all'interno della mappa.
 
Grazie mille
 
Luca
 

 
http://www.sassimatera.net/webcam/cam.php
 
 
Per poter rispondere si dovrebbe poter vedere il codice php.
 
In linea di massima ti serve un anchor HTML, separi le due immagini e 
metti la parte bassa nell'anchor. Come alternativa semplice metti tutta 
l'immagine nell'anchor e buonanotte.

 l'immagine nell'anchor e buonanotte.
 
Ciao Andrea, grazie per la risposta.
Ecco il codice, dove inserisco l'anchor?
 
<?php
 
$nome_immagine="FOTOCAM.jpg";            $nome_testo="testo.txt"; 
// file contenente le scritte
 
$fp = fopen($nome_testo,"r")
   or die("impossibile aprire il file testo.txt.");
$testo_sinistra=fgets($fp,200);            // nella prima riga la scritta 
allineata a sinistra
$testo_destra=fgets($fp,100);            // nella seconda riga la scritta 
allineata a destra
if ( $testo_destra = "data" )
   {
   setlocale(LC_TIME,"it_IT");
   $testo_destra=strftime ("%a %d %b %Y %H:%M:%S", 
filemtime($nome_immagine));
   }
fclose($fp);
 
header("Content-type: image/png");
 
$im  = imagecreatefromjpeg($nome_immagine);
//$black = imagecolorallocate($im, 0, 0, 0);
//$white = imagecolorallocate($im, 255, 255, 255);
$colore_barra = imagecolorallocate($im, 1, 0, 128);        // colore della 
barra formato RGB
$colore_testo  = imagecolorallocate($im, 255, 255, 255);    // idem per 
testo
$x=imagesx($im);
$y=imagesy($im);
 
$font = "VeraBd.ttf";
$size = 35;                            // dimensione del testo
$altezza_barra = 45;                        // dimensione della barra
 
 
imagefilledrectangle($im, 0, $y-$altezza_barra, $x-1, $y-1, $colore_barra);
 
$bbox = imagettfbbox ($size, 0, $font, $testo_sinistra);
$dy   = (($bbox[1] - $bbox[7]) / 2);
imagettftext($im, $size, 0, 5, $y-($altezza_barra / 2) + $dy - 1, 
$colore_testo, $font, $testo_sinistra);
 
$bbox = imagettfbbox ($size, 0, $font, $testo_destra);
$dx   = ($bbox[2] - $bbox[0]);
imagettftext($im, $size, 0, $x-5-$dx, $y-($altezza_barra / 2) + $dy - 1, 
$colore_testo, $font, $testo_destra);
$info = getimagesize($nome_immagine);
$logo = imagecreatefrompng("BANNER.png") ;
imagecopy($im, $logo, 0, $info[1]- 245,0,0,1652,200);
imagejpeg($im);
imagedestroy($im);
?>
 
 
Luca 
 

 Ecco il codice, dove inserisco l'anchor?
 
Errore mio, ho creduto che cam.php producesse del codice HTML, non 
l'immagine con le scritte impresse.
 
Se vuoi continuare a creare una immagine con imagecopy() hai bisogno di 
una ulteriore pagina php, sia che tu voglia usare gli anchor che le 
mappe HTML.
 
In alternativa smetti di creare l'immagine al volo, usi solo <img> con 
src FOTOCAM.jpg e per il banner usi direttamente il contenuto di 
testo.txt mettendolo in un anchor.

Sassi di Matera<a>- refresh 1 min
mar 22 ago 2006 12.58.00
 
Evidentemente non ho capito bene, perché questa modifica mi fa visualizzare 
il codice html nel banner invece di rendere "Sassi di Matera" un link 
cliccabile.
L'anchor dovrei inserirlo nel codice php o all'interno di testo.txt?
Se non ho capito male, questa soluzione mi permetterà di inserire dei link 
sotto l'immagine della cam, ma non dei banner grafici come quelli 
attualmente presenti - o sbaglio?
Grazie mille
 
Luca
 

 mar 22 ago 2006 12.58.00
 
No io intendevo qualcosa del genere
 
<?php
 
$nome_immagine="FOTOCAM.jpg";
$nome_testo="testo.txt"; 
$testo_sinistra=fgets($fp,200);
$testo_link=fgets($fp,100);
$testo_destra=fgets($fp,100); 
fclose($fp);
 
?>
<div>
    <div id="foto">
        <img src="<?php echo $nome_immagine; ?>">
    </div>
    <div id="banner">
        <div id="primariga">
            <a href="<?php echo $testo_link; ?>"><?php echo 
$testo_sinistra; ?>"</a>
        </div>
        <div id="secondariga">
<?php echo $testo_destra; ?>"
        </div>
    </div>
</div>
?>
 
 
Quello che ottieni _non_ è una immagine, è un pezzo di codice HTML.
Non ha un DTD, cioè non è una pagina autonoma (anche se probabilmente i 
browser lo mostreranno), dev'essere inglobato in una pagina completa.

 fclose($fp);
 
Grazie.
Ho provato il tuo codice, ma mi da problemi con fp sulla riga 5
Pertanto ho pensato di definire fp (ovviamente sto provando a indovinare, 
perché di questo linguaggio non ci capisco un tubo ... ma questo si era 
capito :-) )
 
<?php
 
$nome_immagine="foto.jpg";
$nome_testo="testo2.txt";
$fp = fopen($nome_testo,"r")
$testo_sinistra=fgets($fp,200);
$testo_link=fgets($fp,100);
$testo_destra=fgets($fp,100);
fclose($fp);
 
Ora mi da il seguente errore sulla riga 6:
 
Parse error: syntax error, unexpected T_VARIABLE in [...]cam.php on line 6
 
Qual è il problema?
 
Se ho capito bene, definendo $testo_link=fgets($fp,100) si va a cercare un 
link in testo2.txt, corretto?
Quindi, se inserisco 
http://www.vattelappesca.it
 in testo2.txt, la funzione 
fgets lo individua e lo associa a $testo_link  ?
 
Grazie mille
 
Luca


 link in testo2.txt, corretto?
 
Si salva la seconda riga di testo del file in $testo_link.
Il file dovrà avere tre righe.

Il file dovrà avere tre righe.
 
Suggerirei anche di usare
 
	$testo_link=trim(fgets($fp,100));
 
anziche'
 
	$testo_link=fgets($fp,100);
 
perche' altrimenti nell'HTML finisce un "a capo" spurio, che magari non
da' problemi ma magari si'.
 
Leonardo che è per non rischiare
 
-- 
Tell us whether you spy, in the light of the morn,
what saluted was fiercely at the fall of the past day:
whose pips and whose bands in the very heart of the fray
bravely floated from the bulwarks to which we were sworn?

 $testo_link=trim(fgets($fp,100));
 
Ciao ragazzi,
grazie mille per il prezioso aiuto.
Sono riuscito a far funzionare il php (per la cronaca: l'errore "Parse 
error: syntax error, unexpected T_VARIABLE in [...]cam.php on line 6" era 
dovuto alla mancanza di un punto e virgola) e ora il link c'è e funziona.
http://www.sassimatera.net/webcam/cam30.php
 
 
Tuttavia dal punto di vista grafico questa soluzione non è il massimo: il 
mio obiettivo è di rendere cliccabile il banner che vedete nel link in 
basso, in modo che chi clicca su sassisantiesecoli andrà su questo sito, 
mentre chi clicca sulla scritta guidematera andrà su un altro sito:
http://www.sassimatera.net/webcam/webcam_sassi_di_matera.html
 
 
Questo obiettivo può essere raggiunto modificando il php su cui stiamo 
lavorando o devo necessariamente crearne un secondo? (la soluzione meno 
complessa possibile è preferibile)
 
Grazie mille
 
Luca
 

complessa possibile è preferibile)
 
Io non vedo bene a cosa ti serva il PHP, onestamente, tranne che ad
aggiornare il timestamp.
 
<html>
	<head>
		<title>Sassi Santi e Secoli</title>
	</head>
	<body>
<?php
	// Immagine in arrivo dalla webcam
	$immagine	= 'cam.jpg';
 
	$ts_aggior	= filemtime($immagine);
	setlocale(LC_TIME, 'it_IT');
	$dt_aggior	= strftime ("%a %d %b %Y %H:%M:%S", $ts_aggior);
 
	print <<<WEBCAM
		<img src="{$immagine}"
			alt="Immagine aggiornata {$dt_aggior}"
		/>
		Immagine aggiornata il {$dt_aggior}
		<br />
WEBCAM;
	// Da qui in poi HTML normalissimo
?>
<a href="
http://www.google.com
">Vai a Google</a>
<a href="
http://www.sassimatera.net
">Sassi Matera</a>
	</body>
</html>
 
 
Puoi avere le scritte sovrapposte alla foto con CSS (si può fare molto
meglio di così, che nemmen so bene se funzioni, ma di stili so poco):
 
<html>
	<head>
		<title>Sassi Santi e Secoli</title>
	</head>
	<body>
<?php
	// Immagine in arrivo dalla webcam
	$immagine	= 'cam.jpg';
	$ts_aggior	= filemtime($immagine);
 
	setlocale(LC_TIME, 'it_IT');
	$dt_aggior	= strftime ("%a %d %b %Y %H:%M:%S", $ts_aggior);
 
	print <<<IMMAGINE
<div style="width: 640px; height: 480px; background: url({$immagine});">
IMMAGINE;
	print <<<WEBCAM
Immagine aggiornata il {$dt_aggior}
<div style="font-family: Verdana; font-size: 18pt;">
	<a href="
http://www.google.com
">Vai a Google</a> - 
	<a href="
http://www.sassimatera.net
">Sassi Matera</a>
WEBCAM;
?>
	</div>
	</body>
</html>
 
In quest'ultima versione il testo fra delimitatori 'WEBCAM' puoi anche
giostrartelo tu con un editor HTML anche online:
 
 
http://www.quackit.com/html/online-html-editor/
 
 
Leonardo



Wow, il print con <<<
Che ricordi :)


 Che ricordi :)
 
In che senso? In bash è pratica abbastanza comune anche oggi.
 
Occhio al quoting.


cut...
in Bash sì, in php forse è un po' desueta, non trovi?


M
 
Ci sta, PHP l'ho un po' perso di vista (bash no :-) ): cosa si usa adesso?


 in Bash sì, in php forse è un po' desueta, non trovi? M
 
Non tanto desueta, visto che nella 5.3 l'hanno anche potenziata:
 
http://usrportage.de/archives/884-NOWDOC-+-double-quotes-HEREDOC.html
 
 
:)
 
Bye.
 


E se ne impara una nuova ogni giorno.
Questa davvero non me l'aspettavo. Vabbé, se qualcuno la usa e la trova 
comoda tanto meglio.
Io personalmente se vedo contenuto mischiato al codice devo andare di 
digestivo Antonetti. Sono prevenuto, l'ammetto :)


 digestivo Antonetti. Sono prevenuto, l'ammetto :) M
 
Io la uso per i testi delle mail hardcoded piu` che per l'HTML, ma 
effettivamente anche io la uso molto poco.
 
Bye.
 

digestivo Antonetti. Sono prevenuto, l'ammetto :)
 
Ah, in quel senso lì, certamente.
 
Ma per farci una paginetta una, francamente andare di template mi sembrava
un overkill :-) -- una specie di
 
Page->create(Web->getDefault())->load(Web->Settings()->getPath('templates').'hello-world.phtml')->display();



Sì, effettivamente andare di template per una pagina sola concordo che 
sia un overkill.
Io per abitudine in quei contesti us(av)o l'approccio di wordpress
<h1 <?php echo $class"?> ><?php echo $title ?></h1> che però ora come 
ora trovo parimenti fastidioso


Grazie mille a tutti per le risposte.
Facendo un po' di ricerche, mi son reso conto che le soluzioni proposte nel 
mio caso non sono attuabili in quanto non posso modificare il codice del 
sito terzo che mostra il mio php: è una conclusione corretta?
 
Grazie
 
Luca