Category Archives: utility

Convertire una stringa in SEO url [PHP]

Ricordate di salvare la vostra pagina in formato UTF-8

 
function slugify($text) {
	// Map thanks to CakePHP
	$map = array(
		'/|||/' => 'a',
		'/|||?|/' => 'e',
		'/||/' => 'i',
		'/|||/' => 'o',
		'/||?|/' => 'u',
		'//' => 'c',
		'//' => 'n',
		'/|/' => 'ae',
		'//' => 'oe',
		'//' => 'ue',
		'//' => 'Ae',
		'//' => 'Ue',
		'//' => 'Oe',
		'//' => 'ss',
		'/[^-a-zA-Z0-9&\s]/i' => ''
	);
 
	$text = preg_replace(array_keys($map), array_values($map), $text);
	$text = trim(strtolower($text));
	$text = str_replace(array('-', ' ', '&'), array('_', '-', 'and'), $text);
	$text = urlencode($text);
 
	return $text;
}
 

Creare un semplice debug in PHP!

 
< ?php
/**
 * Outputs/Debugs a variable and shows where it was called from
 * @param mixed $var
 * @param boolean $dump
 * @param boolean $backtrace
 * @return string
 */
function debug($var, $dump = false, $backtrace = true) {
	if (error_reporting() > 0) {
		if ($backtrace) {
			$calledFrom = debug_backtrace();
			echo '<strong>' . trim(str_replace($_SERVER['DOCUMENT_ROOT'], '', $calledFrom[0]['file'])) . '</strong> (line <strong>' . $calledFrom[0]['line'] . '</strong>)';
		}
 
		echo '
';
		$function = ($dump) ? 'var_dump' : 'print_r';
		$function($var);
		echo '

';
}
}
?>

Utilizzo

 
< ?php
debug($_SERVER);
 
// var_dump() instead of print_r()
debug($_SERVER, true);
 
// Do not display the backtrace
debug($_SERVER, false, false);
?>
 

Aggiungere il supporto multilingua al vostro sito

 
< ?php
 
/*
 
------------------
 
Language: English
 
------------------
 
*/
 
define('LANG_PAGE_TITLE', 'My website page title');
 
define('LANG_HEADER_TITLE', 'My website header title');
 
define('LANG_SITE_NAME', 'My Website');
 
define('LANG_SLOGAN', 'My slogan here');
 
define('LANG_HEADING', 'Heading');
 
// Menu
 
define('LANG_MENU_HOME', 'Home');
 
define('LANG_MENU_ABOUT_US', 'About Us');
 
define('LANG_MENU_OUR_PRODUCTS', 'Our products');
 
define('LANG_MENU_CONTACT_US', 'Contact Us');
 
define('LANG_MENU_ADVERTISE', 'Advertise');
 
define('LANG_MENU_SITE_MAP', 'Site Map');
 
?>
 
lang.es.php
 
< ?php
 
/*
 
------------------
 
Language: Spanish
 
------------------
 
*/
 
define('LANG_PAGE_TITLE', 'Título de la página de mi sitio web');
 
define('LANG_HEADER_TITLE', 'Mi sitio web de la cabecera título');
 
define('LANG_SITENAME', 'Mi Sitio Web');
 
define('LANG_SLOGAN', ' Mi lema aquí');
 
define('LANG_HEADING', 'Título');
 
// Menu
 
define('LANG_MENU_HOME', 'Inicio');
 
define('LANG_MENU_ABOUT_US', 'Sobre Nosotros');
 
define('LANG_MENU_OUR_PRODUCTS', 'Nuestros productos');
 
define('LANG_MENU_CONTACT_US', 'Contáctenos');
 
define('LANG_MENU_ADVERTISE', 'Publicidad');
 
define('LANG_MENU_SITE_MAP', 'Mapa del Sitio');
 
?>
 
lang.de.php
 
< ?php
 
/*
 
-----------------
 
Language: German
 
-----------------
 
*/
 
define('LANG_PAGE_TITLE', 'Meine Webseite Titel');
 
define('LANG_HEADER_TITLE', 'Meine Website-Header Titel');
 
define('LANG_SITE_NAME', 'Meine Website');
 
define('LANG_SLOGAN', 'Mein Slogan hier');
 
define('LANG_HEADING', 'Position');
 
// Menu
 
define('LANG_MENU_HOME', 'Heim');
 
define('LANG_MENU_ABOUT_US', 'Über uns');
 
define('LANG_MENU_OUR_PRODUCTS', 'Unsere Produkte');
 
define('LANG_MENU_CONTACT_US', 'Kontaktieren Sie uns');
 
define('LANG_MENU_ADVERTISE', 'Werben');
 
define('LANG_MENU_SITE_MAP', 'Site Karte');
 
?>
 
Adesso determiniamo la lingua corretta:
 
< ?phpsession_start();
 
header('Cache-control: private'); // IE 6 FIX
 
if(isSet($_GET['lang']))
 
{
 
$lang = $_GET['lang'];
 
// register the session and set the cookie
 
$_SESSION['lang'] = $lang;
 
setcookie('lang', $lang, time() + (3600 * 24 * 30));
 
}
 
else if(isSet($_SESSION['lang']))
 
{
 
$lang = $_SESSION['lang'];
 
}
 
else if(isSet($_COOKIE['lang']))
 
{
 
$lang = $_COOKIE['lang'];
 
}
 
else
 
{
 
$lang = 'en';
 
}
 
switch ($lang) {
 
case 'en':
 
$lang_file = 'lang.en.php';
 
break;
 
case 'de':
 
$lang_file = 'lang.de.php';
 
break;
 
case 'es':
 
$lang_file = 'lang.es.php';
 
break;
 
default:
 
$lang_file = 'lang.en.php';
 
}
 
include_once 'languages/'.$lang_file;
 
?>
 
Sul vostro sito inserite:
 
<title>< ?php echo LANG_PAGE_TITLE; ?></title>
 
<ul>
 
<li><a href="/">< ?php echo LANG_MENU_HOME; ?></a></li>
 
<li><a href="about_us">< ?php echo LANG_MENU_ABOUT_US; ?></a></li>
 
<li><a href="our_products">< ?php echo LANG_MENU_OUR_PRODUCTS; ?></a></li>
 
<li><a href="contact_us">< ?php echo LANG_MENU_CONTACT_US; ?></a></li>
 
<li><a href="advertise">< ?php echo LANG_MENU_ADVERTISE; ?></a></li>
 
<li><a href="sitemap">< ?php echo LANG_MENU_SITE_MAP; ?></a></li>
 
</ul>
 

Bloccare un indirizzo IP con PHP!

 
< ?php
 
$deny = array("111.111.111", "222.222.222", "333.333.333"); //array con indirizzi IP da bloccare
 
if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) { //controlla se l'indirizzo IP attuale  tra quelli presenti nell'array
 
header("location: http://www.google.com/"); //se  presente esegue il redirect verso una pagina esterna
 
exit();
 
} ?>
 

Funzione PHP per generare lettere casuali!

function GeneraStringheCasuali($lunghezza = 10, $lettere_possibili = 'qwertyuiopasdfghjklzxcvbnm1234567890'){
$a = '';
$lunghezzaLettere = strlen($lettere_possibili)-1;
for($i = 0 ; $i < $lunghezza ; $i++){
$a .= $lettere_possibili[rand(0,$lunghezzaLettere)];
}
return $a;
}

//Esempio applicato

echo GeneraStringheCasuali();

echo GeneraStringheCasuali(5); //stampa 5 lettere casuali

Funzione php per sapere con quale Sistema Operativo lutente sta visitando il tuo sito!

<?php

//Controlla il sistema operativo
function GetSistemaOperativo()
{
$os = array(
'Mac' => 'Mac',
'PPC' => 'Mac',
'Linux' => 'Linux',
'Windows NT 5.1' => 'Windows XP',
'Windows NT 5.0' => 'Windows 2000',
'Windows NT 4.90' => 'Windows ME',
'Win95' => 'Windows 95',
'Win98' => 'Windows 98',
'Windows NT 5.2' => 'Windows NET',
'WinNT4.0' => 'Windows NT',
'FreeBSD' => 'FreeBSD',
'SunOS' => 'SunOS',
'Irix' => 'Irix',
'BeOS' => 'BeOS',
'OS/2' => 'OS/2',
'AIX' => 'AIX',
);

foreach($os as $chiave => $valore)
{
if(strpos($_SERVER['HTTP_USER_AGENT'], $chiave))
{
return $valore;
}
}

return 'Altro';
}

//esempio applicato
echo "il tuo sistema operativo : <b>" . GetSistemaOperativo() ."</b>";
?>

Funzione php per sapere con quale browser l’utente sta visitando il tuo sito!

<?php

//Controlla il tipo di browser
function GetBrowser()
{
$browser = array(
'Lynx' => 'Lynx',
'Opera' => 'Opera',
'WebTV' => 'WebTV',
'Konqueror' => 'Konqueror',
'bot' => 'Bot',
'Google' => 'Bot',
'slurp' => 'Bot',
'scooter' => 'Bot',
'spider' => 'Bot',
'infoseek' => 'Bot',
'MSIE' => 'Internet Explorer',
'Firefox' => 'FireFox',
'Nav' => 'Netscape',
'Gold' => 'Netscape',
'x11' => 'Netscape',
'Netscape' => 'Netscape'
);

foreach($browser as $chiave => $valore)
{
if(strpos($_SERVER['HTTP_USER_AGENT'], $chiave ))
{
return $valore;
}
}

return 'Altro';
}

//esempio applicato
echo "Il tu Browser : <b>" . GetBrowser() ."</b>";
?>

Realizzare un grafico di colori esadecimali in PHP

<table>
<?php
//This is our first loop, changing the R value
$r=0;
while ($r <= 15)
{
echo "<tr>";

//Our second loop (G value) occurs 6 times for ever R value, 36 times
$g=0;
while ($g <= 15)
{
echo "<tr>";

//Our third loop (B value) occurs 6 times for ever G value, or 216 times
$b=0;
while ($b <= 15)
{

//Here we actually generate the color blocks
$background = dechex($r) . dechex($r) . dechex($g) .dechex($g) . dechex($b) . dechex ($b);
echo "<td bgcolor=\"#$background\">#$background</td>";

//At the end of each loop we add 3
$b = $b+3;
}
$g = $g+3;
}
$r = $r+3;
}
?>
</table>

Angoli arrotondati sulle immagini in PHP!

Scaricate ed estraete phpThumb , questo script permette di generare delle miniature al volo.

Per mettere gli angoli arrotondati e per generare la miniatura scrivete cos:

<img src=phpThumb.php?src=test.jpg&w=200&h=150&fltr[]=ric|20|20&f=png />

Trovare il prossimo id di un record

function next_id($table, $id_column) {

if ($table && $id_column) {

$result = mysql_query("SELECT MAX(".$id_column.") AS maxid FROM ".$table);

$stuff = mysql_fetch_assoc($result);

return $stuff['maxid']+1;

} else {

return false;

}

}

Utilizzo: next_id("nome_mia_tabella", "campo_id");