Appunti su PHP, trucchi e piccoli consigli
Cos'è il linguaggio PHP? In questo manuale troverete tecniche e appunti sull'uso del PHP nella programmazione web.
AGGIORNAMENTI
23/09/2015: Un esempio di data corrente
Cos'è il linguaggio PHP?
PHP (acronimo di "Php Hypertext Preprocessor", preprocessore di ipertesti) è un linguaggio di scripting interpretato con licenza open source.
Originariamente è stato concepito per la programmazione nel Web (ovvero generazione di pagine web dinamiche).
Oggi è utilizzato principalmente per sviluppare applicazioni web lato server (vedi la maggiorparte dei CMS oggi in circolazione).
L'elaborazione di codice PHP sul server produce codice HTML da inviare al browser dell'utente che ne fa richiesta. Il vantaggio dell'uso di PHP e degli altri linguaggi Web come ASP e .NET rispetto al classico HTML derivano dalle differenze profonde che sussistono tra Web dinamico e Web statico. (liberamente tratto da wikipedia e php)
Vediamo di cosa parla questo manuale...
CICLO FOREACH in PHP
Una guida semplice chiara ed in italiano che spiega gli usi del ciclo foreach la trovate nell'articolo "Il foreach in php".
STRINGHE IN PHP
Come estrarre una sotto-stringa
Per estrarre da una stringa una sottostringa basata sull'indice di partenza e sulla lunghezza:
substr($string, $start, $length)
Lunghezza di una stringa
Vediamo come calcolare la lunghezza di una stringa:
strlen($string)
Confronto tra due stringhe
La funzione che effettua il confronto tra stringhe è strcmp e si usa nel seguente modo:
strcmp(stringa1, stinga2)
Il risultato sarà 0 se saranno uguali. Questo confronto è case sensitive.
Per un confronto case insensitive si deve usare:
strcasecmp ( stringa1, stringa2 )
Convertire in caratteri minuscoli
La funzione che converte tutti i caratteri di una stringa in caratteri minuscoli è:
strtolower(stringa1)
Controllare se una stringa ne contiene un'altra
Un'ottima risorsa è il link seguente: How to check if string contains substring PHP
Trim di una stringa
Vediamo come eliminare i caratteri bianchi all'inizio e alla fine di una stringa:
trim(stringa1)
Convertire una stringa in un numero
Vediamo come convertire una stringa in un numero:
intval($miaStringa)
STAMPA CAMPO QUERY IN PHP
Vogliamo stampare il campo 'created' di una query di tipo select:
<?php echo $row->created; ?>
Dentro $row ci sta una riga del risultato di una query
$row->created è il campo created della query
echo lo stampa
ELIMINARE UN FILE IN PHP
Per eliminare un file bisogna usare la funzione seguente:
bool unlink ( string $filename [, resource $context ] )
Questa funzione restituisce TRUE in caso di successo, FALSE altrimenti.
Nota: Il parametro context è stato aggiunto in PHP 5.0.0.
Nota: rmdir() per eliminare directory.
LE DATE IN PHP
Un utile riferimento su come formattare una data in PHP lo trovate qui.
Vediamo come si possono sommare le date tra loro o in generale come si può manipolare una data. Nel nostro esempio, testato in Drupal 6.x, vogliamo aggiungere 10 giorni alla data corrente:
$AddDaysToNow = date("d F Y", mktime(0, 0, 0, date("m") , date("d")+10, date("Y")));
Questo codice stampa una data nel formato: 10 November 2010
In maniera del tutto analoga, si possono aggiungere o sottrarre giorni, aggiungere o sottrarre mesi, aggiungere o sottrarre anni ad una data.
Il problema delle date però non finisce qui. Spesso e volentieri accade che la funzione date(), così come viene utilizzata nell'esempio di sopra, produca un mese scritto in inglese invece che in italiano.
Allora bisogna necessariamente utilizzare il seguente codice:
$mesi["January"]="Gennaio";
$mesi["February"]="Febbraio";
$mesi["March"]="Marzo";
$mesi["April"]="Aprile";
$mesi["May"]="Maggio";
$mesi["June"]="Giugno";
$mesi["July"]="Luglio";
$mesi["August"]="Agosto";
$mesi["September"]="Settembre";
$mesi["October"]="Ottobre";
$mesi["November"]="Novembre";
$mesi["December"]="Dicembre";
$mese=$mesi[date("F", mktime(0, 0, 0, date("m") , date("d")+10, date("Y")))];
//Nel caso ASSURDO in cui mese non ritorna nulla
if($mese=="")
$mese=date("F");
//Stampa il solo giorno della data
print date("d", mktime(0, 0, 0, date("m") , date("d")+10, date("Y")));
print " ";
//Stampa il solo mese della data, e questa volta in italiano
print $mese;
print " ";
//Stampa il solo anno della data
print date("Y", mktime(0, 0, 0, date("m") , date("d")+10, date("Y")));
In questa maniera tutto risulta corretto e come lo si vuole!
Vediamo come trasformare una data da stringa ad oggetto data:
$date = '25/11/2014:14:00:00';
$dateInfo = date_parse_from_format('d/m/Y:H:i:s', $date);
$unixTimestamp = mktime(
$dateInfo['hour'], $dateInfo['minute'], $dateInfo['second'],
$dateInfo['month'], $dateInfo['day'], $dateInfo['year'],
$dateInfo['is_dst']
);
Tramite $dateInfo potete ora prendere le varie parti della data!
Un esempio di data corrente:
$dataCorrente = date("d/m/Y H:i");
Gli operatori logici in PHP
Volete sapere tutto sugli operatori logici in PHP? Bene, leggete Gli operatori logici e le espressioni booleane in PHP