Raccolta di funzioni Php

« Older   Newer »
  Share  
view post Posted on 28/8/2009, 11:09
Avatar

Staff

Group:
ForumFree Staff
Posts:
7,114

Status:


Questa discussione ha lo scopo di raccogliere una serie di funzioni in Php che potrete utilizzare nei vostri script.
Potete creare voi stessi le funzioni oppure copiarle da altri siti (purchè sia specificato l'autore della funzione) e richiedere l'inserimento nella discussione Partecipa a Guide e Codici.

Qui sotto troverete dei links utili per la creazione delle vostre funzioni:
PHP: User-defined functions - Manual
Scrivere funzioni personalizzare - Guida PHP di Html.it
Le funzioni personalizzate - PHPNews.it
 
Web  Top
view post Posted on 28/8/2009, 12:47
Avatar

Staff

Group:
ForumFree Staff
Posts:
7,114

Status:



Lista elementi di una directory

Parametri necessari: nessuno
Parametri opzionali: directory
Restituisce: array

CODICE
function lista( $dir='.' )
{
       $dir = ( is_dir( $dir ) ) ? $dir : '.';
       if ( $open = opendir( $dir ) )
       {
                while ( false !== ( $file = readdir( $open ) ) )
               {
                        if ( $file != '.' && $file != '..' )
                       {
                               $list[] = $file;
                       }
               }
               closedir($open);
       }
       return $list;
}





Validità email

Parametri necessari: indirizzo email
Parametri opzionali: nessuno
Restituisce: valore booleano

CODICE
function check_email( $address )
{
       return eregi( "^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$", $address );
}





Validità url

Parametri necessari: url
Parametri opzionali: nessuno
Restituisce: valore booleano

CODICE
function check_url( $url )
{
       // Regexp prelevata da Wikipedia.org
       return preg_match( "/^((http(s)?:\/\/)|(www\.))([a-z0-9][-.a-z0-9]+)((\.[a-z]{2,4})[?\/]?)([?\/][-_~;:.,'*^+()=!|?£§$%&#A-Za-z0-9\/]*)?$/", $url );
}





Sorgente pagina

Parametri necessari: url
Parametri opzionali: nessuno
Restituisce: stringa

CODICE
function sorgente( $url )
{
       // Regexp prelevata da Wikipedia.org
       if ( preg_match( "/^((http(s)?:\/\/)|(www\.))([a-z0-9][-.a-z0-9]+)((\.[a-z]{2,4})[?\/]?)([?\/][-_~;:.,'*^+()=!|?£§$%&#A-Za-z0-9\/]*)?$/", $url ) )
       {
               return implode( '', file( $url ) );
       }
}





Browser

Parametri necessari: nessuno
Parametri opzionali: nessuno
Restituisce: stringa

CODICE
function browser()
{
       $browser = array(
                                        "Explorer" => "MSIE",
                                        "FireFox"         => "FireFox",
                                        "Chrome" => "Chrome",
                                        "Safari" => "Safari",
                                        "Lynx" => "Lynx",
                                        "Opera" => "Opera",
                                        "WebTV" => "WebTV",
                                        "Konqueror" => "Konqueror",
                                        "Bot" => "bot|Google|slurp|scooter|spider|infoseek",
                                        "Netscape" => "Nav|Gold|x11|Netscape",
                                        );
       
       foreach( $browser as $k => $v )
       {
               if ( eregi( $v, $_SERVER['HTTP_USER_AGENT'] ) )
               {
                       return $k;
               }
       }
       return "Sconosciuto";
}





Sistema operativo

Parametri necessari: nessuno
Parametri opzionali: nessuno
Restituisce: stringa

CODICE
function sistema()
{
       $sistemi = array(
                                        "Windows XP" => "Windows NT 5.1",
                                        "Windows Vista" => "Windows NT 6.0",
                                        "Windows 2000" => "Windows NT 5.0",
                                        "Windows ME" => "Windows NT 4.90",
                                        "Windows 95" => "Win95",
                                        "Windows 98" => "Win98",
                                        "Windows NET" => "Windows NT 5.2",
                                        "Windows NT" => "WinNT4.0",
                                        "Mac" => "Mac|PPC",
                                        "Linux" => "Linux",
                                        "FreeBSD" => "FreeBSD",
                                        );

       foreach( $sistemi as $k => $v )
       {
               if ( eregi( $v, $_SERVER['HTTP_USER_AGENT'] ) )
               {
                       return $k;
               }
       }
       return "Sconosciuto";
}





Indirizzo referente

Parametri necessari: nessuno
Parametri opzionali: nessuno
Restituisce: stringa

CODICE
function referer()
{
       if ( $_SERVER['HTTP_REFERER'] )
       {
               $exp = explode( '/', $_SERVER['HTTP_REFERER'] );
               return "<a target='_blank' href='{$_SERVER['HTTP_REFERER']}'>{$exp[2]}</a>";
       }
}





Password casuale

Parametri necessari: nessuno
Parametri opzionali: lunghezza password
Restituisce: stringa

CODICE
function password( $lenght=8 )
{
       $lenght = ( ( $lenght > 32 ) || ( $lenght < 1 ) ) ? 8 : $lenght;
       $gen        = md5( sha1( rand( 0, 999999 ) . time() ) );
       return substr( $gen, 0, $lenght );
}
 
Web  Top
view post Posted on 31/8/2009, 03:13
Avatar

Staff

Group:
ForumFree Staff
Posts:
7,114

Status:


Redirect

Parametri necessari: url
Parametri opzionali: secondi (int), testo (string)
Restituisce: testo (se inserito)

CODICE
function redirect( $url, $secondi=0, $testo='' )
{
       if ( $secondi > 0 )
       {
               header( "Refresh: {$secondi};URL={$url}" );
               if ( !empty( $testo ) )
               {
                       echo $testo;
               }
       }
       else
       {
               header( "Location: {$url}" );
       }
       exit();
}





Rimozione tags HTML

Parametri necessari: testo
Parametri opzionali: tag da rimuovere
Restituisce: stringa

CODICE
function rimuovi_tags( $testo, $tag='' )
{
       $tag = ( $tag != '' ) ? $tag : '.*';
       $txt = preg_replace( '/<('.$tag.')(.*)>/U', '', $testo );
       $txt = preg_replace( '/<\/('.$tag.')>/U', '', $txt );
       return $txt;
}





Rimozione commenti HTML

Parametri necessari: testo
Parametri opzionali: nessuno
Restituisce: stringa

CODICE
function rimuovi_commenti( $testo )
{
       return preg_replace( '/<!--(.*)-->/U', '', $testo );
}





Generatore tabelle

Parametri necessari: nessuno
Parametri opzionali: colonne (int), righe (int), border (int), cellpadding (int), cellspacing (int)
Restituisce: stringa

CODICE
function crea_tabella( $colonne=2, $righe=1, $border=0, $cellpadding=0, $cellspacing=0 )
{
       $colonne = ( $colonne > 0 ) ? $colonne : 2;
       $righe         = ( $righe > 0 ) ? $righe : 1;
       $table  .= "<table border='{$border}' cellpadding='{$cellpadding}' cellspacing='{$cellspacing}'> \n";
       for ( $i = 1; $i <= $righe; ++$i )
       {
               $table .= "<tr title='RIGA{$i}'>\n";
               for ( $r = 1; $r <= $colonne; ++$r )
               {
                       $table .= "<td>COLONNA {$r}</td>\n";
               }
               $table .= "</tr>\n";
       }
       $table  .= "</table>";
       return $table;
}





Scrittura file

Parametri necessari: nome del file, contenuto
Parametri opzionali: nessuno
Restituisce: nulla

CODICE
function scrivi_file( $file, $contenuto )
{
       if ( file_exists( $file ) )
       {
               echo 'Il file esiste già!';
               return;
       }
       $fp        = fopen( $file, 'w' );
       fwrite( $fp, $contenuto );
       fclose( $fp );
}
 
Web  Top
[Antonio]
view post Posted on 20/11/2009, 03:22




Converte tutte le lettere accentate in entità HTML

Parametri necessari: Stringa
Parametri opzionali: nessuno
Restituisce: Stringa codificata con entità HTML delle lettere accentate

CODICE
function charsEncode($string) {
       if(is_string($string)) {
               $chars = array(
               "&agrave;" => "à", "&aacute;" => "á",
               "&Agrave;" => "À", "&Aacute;" => "Á",
               
               "&egrave;" => "è", "&eacute;" => "é",
               "&Egrave;" => "È", "&Eacute;" => "É",
               
               "&igrave;" => "ì", "&iacute;" => "í",
               "&Igrave;" => "Ì", "&Iacute;" => "Í",
               
               "&ograve;" => "ò", "&oacute;" => "ó",
               "&Ograve;" => "Ò", "&Oacute;" => "Ó",
               
               "&ugrave;" => "ù", "&uacute;" => "ú",
               "&Ugrave;" => "Ù", "&Uacute;" => "Ú",
               );
               foreach($chars as $ind => $value) {
                       $string = str_replace($value, $ind, $string);
               }
               return $string;
       }
       else
               return "Il paramentro dev'essere una stringa";
}







Rimuove i ritorni a capo

Parametri necessari: Stringa
Parametri opzionali: nessuno
Restituisce: Stringa senza ritorni a capo

CODICE
function removeNewLines($string) {
       if(is_string($string))
               return str_replace(array("\n", "\r"), "", $string);
       else
               return "Il paramentro dev'essere una stringa";
}







Data corrente in italiano con opzioni personalizzabili

Parametri necessari: (bool) Data Numerica o testuale
Parametri opzionali: (bool)Giorno, (bool)Mese, (bool)Anno, (bool)Ore, (bool)Minuti, (bool)Secondi, (string)SeparatoreData, (string)SeparatoreTempo
Restituisce: Data in base ai parametri dati

CODICE
function data($string, $day = true, $month = true, $year = true, $hour = true, $minute = true, $second = true, $dSep = "/", $tSep = ":") {
       $now = getdate();
       $data = "";
       if($string == true) {
               if($day == true) {
                       $giorni = array("Monday" => "Lunedì", "Tuesday" => "Martedì", "Wednesday" => "Mercoledì", "Thursday" => "Giovedì", "Friday" => "Venerdì", "Saturday" => "Sabato", "Sunday" => "Domenica");
                       foreach($giorni as $ind => $value) {
                               if($now['weekday'] == $ind) {
                                       $data .= $value;
                                       break;
                               }
                       }
                       $data .= " " . $now['mday'];
               }
               if($month == true) {
                       $mesi = array("January" => "Gennaio", "Febraury" => "Febbraio",        "March" => "Marzo", "April" => "Aprile", "May" => "Maggio", "June" => "Giugno", "July" => "Luglio", "August" => "Agosto", "September" =>  "Settembre", "October" => "Ottobre", "November" => "Novembre", "December" => "Dicembre");
                       foreach($mesi as $ind => $value) {
                               if($now['month'] == $ind) {
                                       $data .= " " . $value;
                                       break;
                               }
                       }
               }
               if($year == true)
                       $data .= " " . $now['year'];
       }
       else {
               $anno = $year ? $dSep . $now['year'] : '';
               $mese = $month ? $now['mon'] <= 9 ? $dSep . "0" . $now['mon'] : $dSep . $now['mon'] : '';
               $giorno = $day ? $now['mday'] <= 9 ? "0" . $now['mday'] : $now['mday'] : '';
               $data .= $giorno . $mese . $anno;
       }
       $ore = $hour ? $now['hours'] <= 9 ? "0" . $now['hours'] : $now['hours'] : '';
       $minuti = $minute ? $now['minutes'] <= 9 ? $tSep . "0" . $now['minutes'] : $tSep . $now['minutes'] : '';
       $secondi = $second ? $now['seconds'] <= 9 ? $tSep . "0" . $now['seconds'] : $tSep . $now['seconds'] : '';
       $data .= " " . $ore . $minuti . $secondi;
       return $data;
}

Esempi pratici:
CODICE
//Schema : data(Lettere?True:False, Giorno?true:false, Mese?true:false, Anno?true:false, Ore?true:false, Minuti?true:false, Secondi?true:false, SeparatoreData, SeparatoreTempo);

echo data(true, false, false, false); //Formato stringa, Ore:Minuti:Secondi
echo data(false); //Formato numerico, Giorno/Mese/Anno Ore:Minuti:Secondi
echo data(true); //Formato stringa, NomeDelGiorno NumeroDelGiorno NomeDelMese Anno Ore:Minuti:Secondi
echo data(true, true, true, true, false, false, false); //Formato Stringa, NomeDelGiorno NumeroDelGiorno NomeDelMese Anno
echo data(false, true, true, true, true, true, true, "-", " "); //Formato numerico con separatori definiti, Giorno-Mese-Anno Ore Minuti Secondi
 
Top
3 replies since 28/8/2009, 11:09   2446 views
  Share