Script per scrivere la data su vari file immagine

master1986

Utente Attivo
8 Ott 2012
234
0
16
Ciao ragazzi

sto cercando uno script che mi stampi la data in formato "martedì 05 febbraio", "mercoledì 06 febbraio" ecc ecc

tramite un operazione pianificata devo aggiornare le date su 6 immagini

la prima immagine deve avere la data di oggi, la seconda quella di domani, la terza quella di dopo domani ecc fino a raggiungere la 6 immagine


Se non è possibile inserire il giorno, martedì, mercoledì ecc


lo script deve ovviamente basarsi sulle librerie gd ;)


grazie dell'eventuale aiuto
 
Ti ho scritto un piccolo script vedi se riesci ad adattarlo

PHP:
//array generali
$giorni = array('lunedi','martedi','mercoledi','giovedi','venerdi','sabato','domenica');
$mesi = array('gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');

$immagini = array();

//creo le date per 6 giorni
for($i=0;$i<6;$i++) $immagini[] = $giorni[date('w',time()+($i*86400))].' '.date('d').' '.$mesi[date('n')-1];


foreach($immagini as $key => $giorno){
    
$immagine = imagecreate(300,50); //si crea una nuova immagine (lunghezza e larghezza)
$sfondo = imagecolorallocate($immagine, 255, 255, 255); //bianco
$colore_testo = imagecolorallocate($immagine, 255, 0, 0); //rosso

imagestring($immagine, 5, 55, 15, $giorno, $colore_testo); //si scrive la data

imagepng($immagine,'giorni/'.$key.'.png'); //si salva l'immagine
imagedestroy($immagine); //reset dell'immagine

}
 
Ti ho scritto un piccolo script vedi se riesci ad adattarlo

PHP:
//array generali
$giorni = array('lunedi','martedi','mercoledi','giovedi','venerdi','sabato','domenica');
$mesi = array('gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');

$immagini = array();

//creo le date per 6 giorni
for($i=0;$i<6;$i++) $immagini[] = $giorni[date('w',time()+($i*86400))].' '.date('d').' '.$mesi[date('n')-1];


foreach($immagini as $key => $giorno){
    
$immagine = imagecreate(300,50); //si crea una nuova immagine (lunghezza e larghezza)
$sfondo = imagecolorallocate($immagine, 255, 255, 255); //bianco
$colore_testo = imagecolorallocate($immagine, 255, 0, 0); //rosso

imagestring($immagine, 5, 55, 15, $giorno, $colore_testo); //si scrive la data

imagepng($immagine,'giorni/'.$key.'.png'); //si salva l'immagine
imagedestroy($immagine); //reset dell'immagine

}



Grazie mille dell'aiuto :) ma non saprei come inserirlo, mi puoi far vedere come viene?


per esempio vorrei scrivere la data di oggi su quest'immagine: http://www.windoweb.it/desktop_tour.../foto_francia_varie/foto_francia_001_Alpi.jpg
 
Funziona benissimo!, veramente ottimo! :fonzie:

ti ringrazio immensamente dell'aiuto :fonzie:
 
mi capita un problema a volte

praticamente il mese e il nome del giorno cambia, ma il numero resta sempre quello, "05" febbraio
 
mi capita un problema a volte

praticamente il mese e il nome del giorno cambia, ma il numero resta sempre quello, "05" febbraio
Hai ragione, modifica questa parte cosi
PHP:
for($i=0;$i<6;$i++){
$time = time()+($i*86400);
$immagini[] = $giorni[date('w',$time)].' '.date('d',$time).' '.$mesi[date('n',$time)-1]; 
}
 
Hai ragione, modifica questa parte cosi
PHP:
for($i=0;$i<6;$i++){
$time = time()+($i*86400);
$immagini[] = $giorni[date('w',$time)].' '.date('d',$time).' '.$mesi[date('n',$time)-1]; 
}



Sai che problema mi da ora? praticamente mi aggiorna ilo giorno e il mese, ma il numero del giorno resta sempre quello, "Giovedi 06 febbraio"

da cosa può dipendere?


grazie mille Nefyt
 
Modifica questa linea cosi
PHP:
$immagini[] = $giorni[date('w',$time-(86400%$time))].' '.date('d',$time).' '.$mesi[date('n',$time)-1];


In questo modo a me funziona correttamente per tutti e 3 i campi
 
Ciao nefyt e se volessi che lo sfondo dell'immagine generata fosse trasparente cosa dovrei modificare, ho visto la funzione imagecolortransparent ma non va.


è possibile variare il tuo stesso script?
 
Ciao nefyt e se volessi che lo sfondo dell'immagine generata fosse trasparente cosa dovrei modificare, ho visto la funzione imagecolortransparent ma non va.


è possibile variare il tuo stesso script?
Come hai applicato il colortransparent? Hai provato cosi?

PHP:
imagecolortransparent($immagine, $sfondo);
 
Come hai applicato il colortransparent? Hai provato cosi?

PHP:
imagecolortransparent($immagine, $sfondo);



Funziona! perfetto, praticamente sbagliavo la variabile


Senti un ultima cosa, è possibile centrare il testo nell'immagine?, poichè ogni giorno ha un numero di caratteri diverso, avrei questa necessità
 

Discussioni simili