Funzioni generiche per ogni uso

MarcoGrazia

Utente Attivo
15 Dic 2009
813
18
18
59
Udine
www.stilisticamente.com
Ciao,
nella pratica di tutti i giorni si ha bisogno di semplici funzioni che svolgano sempre lo stesso compito, e ci ritroviamo a dover reinventare la ruota ogni volta; filosofia questa, vietata ad ogni buon programmatore, che invece deve condividere quanto creato.
Quindi ecco alcune mie funzioni che uso continuamente, commentate per l'uso pratico.

Funzioni per la data
PHP:
date_default_timezone_set('Europe/Rome');
$mesi = array( '','gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre' );
$mesiNum = array( '','gennaio'=>1,'febbraio'=>2,'marzo'=>3,'aprile'=>4,'maggio'=>5,'giugno'=>6,'luglio'=>7,'agosto'=>8,'settembre'=>9,'ottobre'=>10,'novembre'=>11,'dicembre'=>12 );
$settimana = array( '', 'lunedì','martedì','mercoledì','giovedì','venerdì','sabato','domenica' );

/**
*	Verifica il formato di una data se ISO8601
*      Ritorna la data se verificata o false se non è in un formato valido.
*/
function verificaData( $date, $format = 'Y-m-d' ) {
	$d = \DateTime::createFromFormat( $format, $date );
	if ( $d && $d->format($format) == $date ) return $date; else return false;
}	//	verificaData()

/**
*   Trasforma una data in formato ISO8601 in forma leggibile per umani.
*   ISO8901 = ANNO-MESE-GIORNO
*/
function ISO2Uman($dataIso) {
	global $mesi;
	list($anno, $mese, $giorno) = explode('-', $dataIso);
return (string)$giorno . ' ' . $mesi[(int)$mese] . ' ' . (string)$anno;
}	//	ISO2Uman()

/**
*	Genera la data odierna
*      Se chiamata con true come parametro ( default ) inserisce pure il giorno della settimana.
*      Se non lo si vuole, passarla con false come parametro.
*/
function dataOdierna( $settimana = true ) {
	global $mesi, $settimana;
	if ( $settimana ) {
		return $settimana[(int)date( 'N' )] . ', ' . date( 'd' ) . ' ' . $mesi[(int)date( 'n' )] . ' ' . date( 'Y' );
	} elseif( $settimana == false ) {
		return date( 'd' ) . ' ' . $mesi[(int)date( 'n' )] . ' ' . date( 'Y' );
	}
}	//	dataOdierna()

Funzioni per il trimming dei valori passati via POST o GET
PHP:
/**
*	Verifica un indirizzo email nel formato [email protected]
*      Torna false se non è verificato o l'indirizzo se verificato.
*/
function verificaEmail( $valore ) {
	$sanitized = filter_var( $valore, FILTER_SANITIZE_EMAIL );
	if ( filter_var( $sanitized, FILTER_VALIDATE_EMAIL )) {
		return $sanitized;
	}
return false;
}	//	verificaEmail()

/**
* 	Filtra un URL
*      Torna false se non è verificato o l'indirizzo nel caso venga verificato
*/
function verificaURL($url) {
	$url = filter_var($url, FILTER_SANITIZE_URL);
	if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
		return $url;
	} else {
		return false;
	}
}	//	verificaURL()

/**
*	Verifica una stringa per il tipo di caratteri passati
*      Mantiene solo numeri e caratteri, non usare per le password prevedono anche caratteri grafici.
*/
function verificaStringa( $valore ) {
	$options = array ( 'flags' => array( 'FILTER_FLAG_STRIP_LOW', 'FILTER_FLAG_STRIP_HIGH' ));
	$valore = filter_var( $valore, FILTER_SANITIZE_STRING, $options );
return $valore;
}	//	verificaStringa()

/**
*	Effettua il trimming dei dati passati alla funzione
*      Uso con gli array, soprattutto quelli globali come POST, GET, ecc.
*      Uso: array_walk($_POST, 'trimValue');
*/
function trimValue( &$value ) {
	if ( !is_array( $value )) $value = trim( $value, " \t\n\r\0\x0B" );
}	//	trimValue()

Generatori di codice ( per uniqid o password, ecc. )
PHP:
/**
 *	Genera un numero unico da usarsi per password e salt.
 * 	$length = numero di caratteri da usarsi in uscita.
*/
function makeUnique ($length=16) {
   $salt       = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
   $len        = strlen($salt);
   $makepass   = '';
   mt_srand(10000000*(double)microtime());
   for ($i = 0; $i < $length; $i++) {
	   $makepass .= $salt[mt_rand(0,$len - 1)];
   }
return $makepass;
}	//	makeUnique()

/**
*	Crea una password casuale sulla base di makeUnique() con 10 caratteri come valore predefinito.
*/
function creaPassTemp( $caratteri = 10 ) {
return makeUnique( $caratteri );
}	//	creaPass()

Tutte queste funzioni le ho messe in un file unico che allego all'occorrenza, ovviamente niente vieta di inserirle altrove o fare più file.
Anzi sarebbe interessante se qualcuno ha altre funzioni a tema di crearne ancora, potrebbe uscrine un MrWebmasterGenericFileFunction.inc.php chissà.
 
  • Like
Reactions: Alex_70
Discussioni simili
Autore Titolo Forum Risposte Data
S Differenza tra le funzioni include () e require ()? PHP 1
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
B Funzioni matematiche php PHP 2
G funzioni php pericolose Hosting 2
M [PHP] utilizzo di una classe e delle sue funzioni PHP 2
Arcadia [MS Access] Implementazione progetto con nuove funzioni. MS Access 0
N [Java] jbutton con funzioni Java 2
A Richiamare funzioni esterne JS da PHP PHP 9
M [Javascript] Spiegazioni di due funzioni Javascript 10
Andy56 Parametri funzioni in Java Java 0
A [PHP] info funzioni PHP 11
M La bozza di un sito con alcune funzioni javascript non si apre correttamente su smartphone Javascript 1
M Riadattamento funzioni per far scomparire un menu. jQuery 4
V Creare funzioni PHP per agevolare bootstrap PHP 1
B funzioni per creare file e inserirli dentro una certa cartella in php? PHP 1
epicbrozo [Javascript] Mi potreste spiegare passo passo i passaggi di due funzioni? Javascript 0
A funzioni asincrone e callback...help! Ajax 10
B [Javascript] funzioni non funzionanti in un form Javascript 8
V [Javascript] Funzioni su input dinamici Javascript 24
T [Javascript] un form con select dinamica che funzioni da menù... Javascript 2
N [php]icone funzioni tabelle PHP 12
localhost.nicola [Javascript] JS non esegue funzioni su bottoni stampati da chiamata AJAX Javascript 1
Andrea Perrone [Javascript] QUESITO SU FUNZIONI Javascript 28
M Sostituire le funzioni mysql con mysqli, ma quali? PHP 4
V Funzioni per il filesystem ed il percorso da inserire PHP 0
S funzioni per calcoli sulle date PHP 4
V problema con funzioni annidate Javascript 2
L Visibilità connessione Db con MySQLi in funzioni definite dall'utente PHP 0
A Passaggio di variabile tra funzioni PHP 5
M funzioni e gestori di eventi Javascript 1
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
R php.ini disabilitare funzioni PHP 2
otto9due Problema if elseif o foreach.. o non capisco cosa non funzioni.. PHP 4
M funzioni google maps sovrapposizione markers Javascript 0
O Non capisco cosa non funzioni.. :( Ajax 0
G Funzioni Template Tags WordPress 1
G Richiamare funzioni esterne PHP 0
S funzioni per immagini Javascript 1
B funzioni Javascript 0
A Raggruppare piu' funzioni in una sola PHP 1
P Unire due funzioni... Javascript 1
A .each con due funzioni per paramentro jQuery 0
Violetta De Amicis Conflitto funzioni jQuery jQuery 1
R visualizzare risultati query utilizzando le funzioni PHP 0
M Unire piu funzioni di una classe PHP 12
criric Mysqli funzioni . approccio OOP Snippet PHP 0
A la riga clonata non risponde alle funzioni javascript come la riga madre. Javascript 5
S funzioni ricorsive in loop jQuery 0
S Problema con le funzioni PHP 6
M lanciare due funzioni javascript dopo l'invio di un form Javascript 2

Discussioni simili