PHP: Calcolare il giorno della Pasqua
| gennaio 31st, 2012Di seguito vi propongo una classe per ricavare il giorno della Pasqua passando un determinato anno, mi è tornata utile per la realizzazione di un Planner.
Per ricavare il mese ed il giorno della Pasqua dell’anno 2012 basta chiamare il metodo Pasqua::get passando come argomento “2012″:
Pasqua::get(2012); // ritorna Array([day]=>18 [month]=>4)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | <?php /** * Pasqua * * Questa classe determia il giorno della Pascqua * di un determinato anno, si basa sul calcolo detto * Metodo aritmetico di Gauss spiegato in questa pagina: * http://it.wikipedia.org/wiki/Calcolo_della_Pasqua * * @author Guido Chiappucci */ class Pasqua { private static $aM = array(22, 22, 23, 23, 24, 24); private static $aN = array(2, 2, 3, 4, 5, 5); /** * Pasqua::get() * * Il metodo get restituise un array * contenente il mese ed il giorno * della Pasqua riferita all'anno * passato al metodo attraverso $year * * @param integer $year * @return array */ public static function get($year) { $a = $year % 19; $b = $year % 4; $c = $year % 7; $aIndex= floor($year/100)-15; $d = (19 * $a + self::$aM[$aIndex]) % 30; $e = (2 * $b + 4 * $c + 6 * $d + self::$aN[$aIndex]) % 7; $day = 22 + $d + $e; $month = 3; if ($day > 31) { $month = 4; $day -= 31; } /** * Eccezioni: * - Se la data risultante dalla formula è il 26 aprile, * allora la Pasqua cadrà il giorno 19 aprile; * - Se la data risultante dalla formula è il 25 aprile * e contemporaneamente d = 28, e = 6 e a > 10, * allora la Pasqua cadrà il 18 aprile. */ if ($month == 4 && $day == 26) { $day = 19; } elseif ($month == 4 && $day == 26 && $d == 28 && $e == 6 && $a > 10) { $day = 18; } return array('day'=>$day,'month'=>$month); } } ?> |
PHP 5.4 rc 4
| dicembre 27th, 2011
In questi giorni è stata rilasciata la versione 5.4 rc 4 di Php, quindi siamo ormai vicini al rilascio definitivo della nuova versione, in questa pagina la lista delle novità e dei cambiamenti che verranno introdotti, particolare attenzione alle funzioni che non saranno più disponibili e che da tempo erano state dichiarate deprecate.
Recuperare la favicon di un sito con php
| settembre 30th, 2011Attraverso gli strumenti offerti da Google è possibile recuperare facilmente la favicon di un sito web, e con poche righe di php possiamo confezionare una funzione che restituisce la favicon del sito richiesto.
Il servizio di Google che andremo ad utilizzare è una semplice chiamata http:
http://www.google.com/s2/favicons?domain=www.google.it
dove “domain” è il sito web di cui richiediamo la favicon.
Veniamo al codice, in pratica utilizzeremo Curl per fare la chiamata http verso Google, la risposta sarà proprio il sorgente del file richiesto, quindi possiamo scriverlo su un file oppure stamparlo direttamente a video.
1 2 3 4 5 6 7 8 9 10 11 12 | <?php function getFavicon( $url ) { $ch = curl_init('http://www.google.com/s2/favicons?domain='.$url); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $content = curl_exec($ch); curl_close($ch); return $content; } $favicon = getFavicon('www.google.it'); ?> |
Utilizzando la funzione imagepng() può verificarsi l’errore
PHP Fatal error: imagepng() [function.imagepng]: gd-png: fatal libpng error: zlib error in… ecc. ecc…
Questo dipende dal fatto che il fattore di compressione utilizzato da imagepng() non va da 0 a 100 come per imagejpeg() ma va da 0 a 9, quindi basterà cambiare questo parametro come nell’esempio sotto:
1 2 3 | <?php imagepng($img, $filename, 8); ?> |
DevConf 2010 – Ilia Alshanetsky
| maggio 18th, 2010Ecco le slide riferite all’intervento di Ilia Alshanetsky al DevConf 2010 di Mosca

ConFoo 2010 – Ilia Alshanetsky
| marzo 12th, 2010Ecco fresche fresche le slide dell’intervento al ConFoo 2010 di Ilia Alshanetsky, come sempre… da non perdere.

Scaling Web Applications with HMVC
| febbraio 28th, 2010Qualche giorno fa è uscito su TechPortal un articolo veramente interessante e ben fatto relativo al design pattern HMVC. La lettura è consigliata anche a chi ha ben chiaro il funzionamento di MVC in quanto quella descritta è considerata una “estensione” del pattern stesso.
http://techportal.ibuildings.com/2010/02/22/scaling-web-applications-with-hmvc/
Php functions you (probably) never use
| gennaio 18th, 2010Leggendo qua e la ho trovato un articolo molto curioso e allo stesso tempo interessante dove vengono descritte una serie di funzioni php poco comuni e che probabilmente non vengono quasi mai utilizzate.
L’articolo in questione si trova in questo blog all’indirizzo:
http://infinity-infinity.com/2009/07/10-php-functions-you-probably-never-use/
Buona lettura!
iBlog – Ilia Alshanetsky
| luglio 17th, 2009Oggi voglio segnalare il blog di Ilia Alshanetsky, sito che seguo da un po’ dove ho trovato numerose informazioni su come utilizzare al meglio PHP, in particolare, oltre alla consueta sezione dedicata agli articoli, ho trovato molto utile la sezione Talks da dove si possono scaricare delle utilissime slide.
Buona lettura.