PDA

View Full Version : [PHP] Creare Countdown in un Post Help


dovella
06-08-2007, 16:53
Salve ragazzi vorrei sapere se è possibile creare un countodown dove la data di scadenza sarebbe il 16/11/2007 , questo countdown dovrei postarlo su un forum è possibile poi??
Grazie

phlebotomus
07-08-2007, 01:02
Salve ragazzi vorrei sapere se è possibile creare un countodown dove la data di scadenza sarebbe il 16/11/2007 , questo countdown dovrei postarlo su un forum è possibile poi?
Se nel forum puoi postare codice interpretabile dal browser sì, ovvero codice che funzioni, non solo codice come testo.
Se lo puoi fare, la scelta più immediata è javascript (ci sono in giro un mucchio di script di countdown già pronti).

Ciao

dovella
07-08-2007, 16:42
leggo con ritardo la risposta e chiedo scusa, ho provato piu countdown gia belli e fatti da postare e mi sono accorto che nel forum non va bene :(
non ci sarebbe nessun altra soluzione??
eppure bisognerebbe creare un sito tipo l imageshack dei countdown

phlebotomus
07-08-2007, 20:05
Che tipo di forum è? lo gestisci te o sei un utente normale?

Pappe
07-08-2007, 21:14
linki come immagine ad uno script php che ti da in output un'immagine con i giorni che mancano....

php +gd e sei aposto e non e nemmeno difficilissimo

dovella
10-08-2007, 17:51
hai link??

Pappe
10-08-2007, 20:04
hai link??

no...ma magari in 10 minuti riesco a fartelo :P

EDIT: ecco :D


<?php

// CONFIGURAZIONE
$giorno = 16;
$mese = 11;
$anno = 2007;
//-----------------------

//Setto il mime-type dell'output
header ("Content-type: image/png");

//Creo l'immagine e alloco i colori di sfondo e testo
$img = imageCreate (180, 60) or die ("Impossibile creare l'immagine");
$bg_color = imageColorAllocate ($img, 0, 0, 0);
$txt_color = imageColorAllocate ($img, 255, 255, 255);

$evento = mktime(0, 0, 0, $mese, $giorno, $anno);
$oggi = time();

$differenza = ($evento - $oggi);
$giorni = (int) ($differenza/86400);

//Scrivo sull'immagine
ImageString ($img, 4, 10, 10, "Mancano:", $txt_color);
ImageString ($img, 4, 80, 10, "$giorni giorni", $txt_color);
ImageString ($img, 4, 10, 30, "al $giorno/$mese/$anno", $txt_color);


//Mando in output l'immagine creata
imagePNG($img);

?>


forse unico neo è che la data va impostata nel file....ma se ti interessa posso farlo che la prenda anche dall'url "dinamicamente"

per richiamarlo fai:

[ img ]http://tuosito.ext/countdown.php[ /img ]

dovella
12-08-2007, 22:46
Super ipermega mega super extra GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

elevul
13-08-2007, 00:58
Purtroppo il forum sul quale serve non accetta script php nel tag img. :cry:
C'é qualche altro modo? :mc:

Pappe
13-08-2007, 14:04
prego!!

per il problema di elevul non saprei che farci.....

Mixmar
13-08-2007, 14:52
Purtroppo il forum sul quale serve non accetta script php nel tag img. :cry:
C'é qualche altro modo? :mc:

Potresti "taroccare" il web server che sta dietro a "tuosito.ext" (prendo il nome dall'esempio di Pappe), naturalmente se è tuo ed hai privilegi di amministratore, in maniera che reindirizzi le richieste provenienti da un certo indirizzo (per esempio, quello del forum) e dirette ad un certo URL (per esempio: http://tuosito.ext/finta_immagine_png_countdown.png), al tuo script PHP, che risponderà con una png come fa nell'esempio di Pappe.

elevul
13-08-2007, 21:24
Potresti "taroccare" il web server che sta dietro a "tuosito.ext" (prendo il nome dall'esempio di Pappe), naturalmente se è tuo ed hai privilegi di amministratore, in maniera che reindirizzi le richieste provenienti da un certo indirizzo (per esempio, quello del forum) e dirette ad un certo URL (per esempio: http://tuosito.ext/finta_immagine_png_countdown.png), al tuo script PHP, che risponderà con una png come fa nell'esempio di Pappe.

Va bene anche un hosting gratuito come byethost o altervista? :stordita:

Mixmar
14-08-2007, 10:21
Va bene anche un hosting gratuito come byethost o altervista? :stordita:

Tarocco ancora meno "impattante" ( (C) mio fratello, anzi facciamo un po' di pubblicità, va': il progetto di mio fratello (http://sourceforge.net/projects/dforce)) ;) ) :

crea una directory di nome "countdown.png" sul tuo server, e inseriscigli all'interno il file di Pappe rinominandolo "index.php": in questo modo, non dovresti nemmeno disporre dei privilegi amministrativi, e il tuo hosting gratuito dovrebbe permetterti di farlo.

Poi puoi fare il link nel tag [img] sul forum a "countdown.png"...

Pappe
14-08-2007, 11:19
Tarocco ancora meno "impattante" ( (C) mio fratello, anzi facciamo un po' di pubblicità, va': il progetto di mio fratello (http://sourceforge.net/projects/dforce)) ;) ) :

crea una directory di nome "countdown.png" sul tuo server, e inseriscigli all'interno il file di Pappe rinominandolo "index.php": in questo modo, non dovresti nemmeno disporre dei privilegi amministrativi, e il tuo hosting gratuito dovrebbe permetterti di farlo.

Poi puoi fare il link nel tag [img] sul forum a "countdown.png"...

ottima idea...ma se il forum effettua il controllo sul mime-type del file non funziona lo stesso :p

elevul
14-08-2007, 17:10
http://kache.byethost16.com/countdown.png/

Comunque, il link al progetto di tuo fratello non va.

Edit: non va né su HWupgrade, né sul forum dove serve:
http://www.forumeye.it/invision/index.php?showtopic=381865&st=0&gopid=7208056&#entry7208056

Pappe
14-08-2007, 19:45
http://pappedesigns.altervista.org/count_down.php

...a me pare che qua vada..... :p

elevul
14-08-2007, 22:16
http://pappedesigns.altervista.org/count_down.php

...a me pare che qua vada..... :p

Si, ma qui accetta i files con estensione.php in tag immagine. Lì no. :cry:

Mixmar
15-08-2007, 09:46
http://kache.byethost16.com/countdown.png/

Comunque, il link al progetto di tuo fratello non va.



Errata corrige: link (http://sourceforge.net/projects/webdoll).

Pappe
15-08-2007, 10:06
Si, ma qui accetta i files con estensione.php in tag immagine. Lì no. :cry:

http://pappedesigns.altervista.org/immagine.png/
così è facendo la cartella /immagine.png con il file rinominato in index..php...ma bisogna mettere lo / alla fine....hai provato nel forum che ti serve???

elevul
15-08-2007, 12:38
http://pappedesigns.altervista.org/immagine.png/
così è facendo la cartella /immagine.png con il file rinominato in index..php...ma bisogna mettere lo / alla fine....hai provato nel forum che ti serve???http://img261.imageshack.us/img261/149/screente4.th.jpg (http://img261.imageshack.us/my.php?image=screente4.jpg)

:cry:

elevul
29-08-2007, 22:01
Problema risolto. Infinite grazie a tutti!

Comunque, stavo pensando: è possibile fare uno script in php che restituisca un'immagine gif in perenne caricamento? In questo modo si avrebbe il countdown dinamico. E' fattibile come cosa?

Mixmar
30-08-2007, 09:57
Comunque, stavo pensando: è possibile fare uno script in php che restituisca un'immagine gif in perenne caricamento? In questo modo si avrebbe il countdown dinamico. E' fattibile come cosa?

Penso di no, perchè costringerebbe il server che ospita il forum a mantenere aperta una connessione continuamente con il server che ospita il countdown...

cionci
30-08-2007, 10:15
Penso di no, perchè costringerebbe il server che ospita il forum a mantenere aperta una connessione continuamente con il server che ospita il countdown...
Non il server che ospita forum, ma il browser del client.
Le immagini esterne messe su un forum o su un sito vengono scaricate dal sito che ospita le immagini.

elevul
30-08-2007, 10:49
Non il server che ospita forum, ma il browser del client.
Le immagini esterne messe su un forum o su un sito vengono scaricate dal sito che ospita le immagini.

Quindi non dovrebbero esserci problemi, giusto? :confused:

cionci
30-08-2007, 10:59
Quindi non dovrebbero esserci problemi, giusto? :confused:
Ci sono, almeno nella modalità normale http...perché sia lo script sia il browser vanno in timeout. Inoltre non è detto che l'immagine vanga aggiornata dal browser. Forse...e dico forse...sarebbe proponibile una gif animata con un frame inviato ogni tot secondi, ma ripeto bisogna fare i conti con tante variabili.

elevul
30-08-2007, 11:20
Ci sono, almeno nella modalità normale http...perché sia lo script sia il browser vanno in timeout. Inoltre non è detto che l'immagine vanga aggiornata dal browser. Forse...e dico forse...sarebbe proponibile una gif animata con un frame inviato ogni tot secondi, ma ripeto bisogna fare i conti con tante variabili.

E' esattamente quella la mia idea: fare in modo che lo script invii un nuovo frame della gif ogni secondo, in modo che sia tutto sincronizzato.
Quindi può funzionare?

cionci
30-08-2007, 11:35
Quindi può funzionare?
C'è da provare e bisogna vedere quanto il browser intende stare connesso e quanto il server. Inoltre lo script php ha un tempo limite di esecuzione, quindi va aggiornato ogni volta il tempo limite.
Nota che praticamente potresti esaurire la memoria del sistema dove c'è il browser perché immetteresti continuamente i dati nella gif.

elevul
30-08-2007, 14:17
C'è da provare e bisogna vedere quanto il browser intende stare connesso e quanto il server. Inoltre lo script php ha un tempo limite di esecuzione, quindi va aggiornato ogni volta il tempo limite.
Nota che praticamente potresti esaurire la memoria del sistema dove c'è il browser perché immetteresti continuamente i dati nella gif.

Capito. Mi aiuteresti a compilare lo script, per favore, così possiamo provare? :D

dovella
30-08-2007, 15:42
Ragazzi grazie a tutti il countdown funziona benissimo :D
Grazie

cionci
30-08-2007, 15:51
Non so come si possano generare gif animate con php, sorry.

elevul
02-12-2008, 00:30
Riuppo per ringraziare Pappe un'altra volta, visto che ho avuto bisogno del countdown proprio adesso, ed è solo grazie a lui se ne ho avuto uno.
Inoltre l'ho modificato per sottrarre anche ora, minuti e secondi.
Se interessa, il codice è il seguente:
<?php

// CONFIGURAZIONE
$ora = 8;
$minuto = 0;
$secondo = 0;
$giorno = 03;
$mese = 12;
$anno = 2008;
//-----------------------

//Setto il mime-type dell'output
header ("Content-type: image/png");

//Creo l'immagine e alloco i colori di sfondo e testo
$img = imageCreate (200, 80) or die ("Impossibile creare l'immagine");
$bg_color = imageColorAllocate ($img, 0, 0, 0);
$txt_color = imageColorAllocate ($img, 255, 255, 255);

$evento = mktime($ora, $minuto, $secondo, $mese, $giorno, $anno);
$oggi = time();

$differenza = ($evento - $oggi);
$ore = (int) ($differenza/3600);

//Scrivo sull'immagine
ImageString ($img, 4, 10, 10, "Mancano:", $txt_color);
ImageString ($img, 4, 80, 10, "$ore ore", $txt_color);
ImageString ($img, 4, 10, 30, "alle $ora:$minuto:$secondo", $txt_color);
ImageString ($img, 4, 10, 50, "del giorno $giorno/$mese/$anno", $txt_color);

//Mando in output l'immagine creata
imagePNG($img);

?>

Estremamente utile.
Volevo chiedere: è possibile applicare ad una sola parola un carattere più grande o magari un bold? Giusto per sottolineare che mancano TOT ore all'evento prestabilito.