Citazione Originariamente Scritto da Valentino63 Visualizza Messaggio
Ciao a tutti,
ho seguito questa discussione perchè ho un problema simile.
Vorrei creare uno storico delle ultime 6 ore della webcam.
Il mio problema è che il classico file webcam.jpg non è sul mio server ma sul server del proprietario della webcam
Quindi il mio script deve andare a prelevare il file sul server ogni X minuti e salvarlo sul mio server in una apposita cartella per elaborare una slide-show.
Purtroppo sono alle prime armi e non ci capisco nulla di script php, in particolare chi lancia lo script automaticamente?
dove devo mettere lo script php ?
Se dovessi ripetere la cosa su più webcam ?

Riuscite a darmi una dritta ?

Ciao Valentino
Dunque, per prelevare tramite script php un'immagine da server esterno si possono usare due approcci.
Intanto posto che:

$imgremota = url immagine remota server esterno, del tipo "http://sitoesterno/webcam.jpg";
$imglocale = url del proprio sito dove carico l'immagine compreso il nome dell'immagine stessa, del tipo "http://www.miosito/webcam.jpg";

1° modo (più semplice):

Codice PHP:
copy($imgremota,$imglocale); 
2° modo:

Codice PHP:
$imgStr file_get_contents($imgremota); /* legge il contenuto del file remoto in una stringa */
$saveimg file_put_contents($imglocale,$imgStr); /* salva il file immagine nel proprio server */ 
Le variabili $imgremota e $imglocale, così come le istruzioni (in realtà solo una nel primo caso) vanno inserite in un file php che risiede nel nostro server in cui andremo a salvare l'immagine remota (l'url indicato in $imglocale può essere anche relativo rispetto alla cartella in cui posizioniamo lo script, anzichè assoluto, del tipo "/cartella/webcam.jpg").

Riguardo i servizi di cron, ce ne sono diversi in rete, ma Gigi600 ha indicato in precedenza uno piuttosto interessante (free): http://cron-job.org/en
che permette di eseguire gli script anche ogni minuto.
Anche Altervista permette di eseguire scheduling ma con molti più limiti, sia a livello temporale (se non erro massimo 1 all'ora) che di quantità, infatti superata una certa soglia free si devono avere i cosiddetti altercents o acquistare direttamente un altro pacchetto di cron.

Ovviamente, se esegui lo script ripetutamente salvando il file con lo stesso nome, questo sovrascriverà il precedente. Per avere invece file diversi devi impostare il nome del file in base al giorno,mese,anno,ora,minuti come indicato nei post precedenti.