Últimos snippets
Encontrar la IP real de un visitante
/** * function ip (void) * * devuelve la IP de un usuario remoto * * return string */ function ip () { $s_hxff = $_SERVER['HTTP_X_FORWARDED_FOR']; $s_ra = $_SERVER['REMOTE_ADDR']; $e_ra = $_ENV['REMOTE_ADDR']; if ($s_hxff) { // los proxys van añadiendo al final de esta cabecera // las direcciones ip que van "ocultando". Para localizar la ip real // del usuario se comienza a mirar por el principio hasta encontrar // una dirección ip que no sea del rango privado. En caso de no // encontrarse ninguna se toma como valor el REMOTE_ADDR // http://www.faqs.org/rfcs/rfc1918.html '/^(00)?0\./', '/^127\.(00)?0\.(00)?0\.(00)?1/', '/^192\.168\..*/', '/^172\.0?((1[6-9])|(2[0-9])|(3[0-1]))\..*/', '/^0?10\..*/' ); if ($client_ip != $found_ip) { $client_ip = $found_ip; break; } } } } }
En PHP ip real por Lito hace on 4/2/08 | Comentarios
Generar contraseñas aleatorias en PHP
<?php /** * function texto_aleatorio (integer $long = 5, boolean $lestras_min = true, boolean $letras_max = true, boolean $num = true)) * * Permite generar contrasenhas de manera aleatoria. * * @$long: Especifica la longitud de la contrasenha * @$letras_min: Podra usar letas en minusculas * @$letras_max: Podra usar letas en mayusculas * @$num: Podra usar numeros * * return string */ function texto_aleatorio ($long = 5, $letras_min = true, $letras_max = true, $num = true) { $salt = $letras_min?'abchefghknpqrstuvwxyz':''; $salt .= $letras_max?'ACDEFHKNPRSTUVWXYZ':''; return ''; } $i = 0; $str = ''; while ($i < $long) { $i++; } return $str; } ?>
En PHP contraseña aleatoria por Lito hace on 4/2/08 | Comentarios
Descargar el contenido de una URL con cURL
function abrir($url) { $sesion = curl_init($url); curl_setopt($sesion, CURLOPT_RETURNTRANSFER, 1); curl_setopt($sesion, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($sesion, CURLOPT_TIMEOUT, 5); curl_setopt($sesion, CURLOPT_CONNECTTIMEOUT, 5); // Nos hacemos pasar por el Firefox curl_setopt($sesion, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7'); $resultado = curl_exec($sesion); curl_close($sesion); return $resultado; }
En PHP curl por jape hace on 1/2/08 | Comentarios
Función para validar IPs
function validarIP($ip) { { { return true; } else { return false; } } else { return false; } }
En PHP IP por jape hace on 1/2/08 | Comentarios
PNGs en IE 6
// inserta aquí el código #contenedor { transparent url(../img/bck_trans.png) repeat scroll left top } /* estilo para IE 6 en una hoja condicional - OJO que la ruta de imagen es diferente */ #contenedor { background-image:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='img/bck_trans.png'); }
En CSS png ie6 por tanta hace on 30/1/08 | Comentarios
Contador simple de visitas
Uso
function load_counter() { } return 0; } function update_counter($i=1) { $n = load_counter(); $n += $i; return $n; }
// count the current visit and output the count $visits = update_counter(); // just load the counter data $visits = load_counter();
En PHP contador visitas por admin hace on 30/1/08 | Comentarios
Escribir en fichero con Perl
En Perl escribir fichero por admin hace on 30/1/08 | Comentarios
Patrón Singleton en PHP5
Esto permite que se obtenga una simple instancia de la clase Example.
<?php class Example { // Hold an instance of the class // A private constructor; prevents direct creation of object private function __construct() { echo 'I am constructed'; } // The singleton method { $c = __CLASS__; self::$instance = new $c; } return self::$instance; } // Example method public function bark() { echo 'Woof!'; } // Prevent users to clone the instance public function __clone() { } } ?>
<?php // Error porque el constructor es privado $test = new Example; // Devuelve siempre la misma instancia $test = Example::singleton(); $test->bark(); // Lanzará un error $test_clone = clone($test); ?>
En PHP patrón singleton por admin hace on 30/1/08 | Comentarios
Patrón Factory method en PHP5
Al definir este método en una clase se nos permite que los drivers sean cargados al vuelo. Si la clase Example fuera una clase de abstracción de base de datos, cargar un manejador de MySQL y SQLite podría ser hecho como sigue:
<?php class Example { // The factory method { if (include_once 'Drivers/' . $type . '.php') { $classname = 'Driver_' . $type; return new $classname; } else { throw new Exception ('Driver not found'); } } } ?>
<?php // Load a MySQL Driver $mysql = Example::factory('MySQL'); // Load a SQLite Driver $sqlite = Example::factory('SQLite'); ?>
En PHP patrón factory method php5 por admin hace on 30/1/08 | Comentarios
Ejemplo básico para generar una imagen con GD
http://www.washeebo.com/sargento/03_php/0301/0301.php
<?php // Definimos los headers // Creamos la imagen $imagen = imagecreate(400,300); // Agregamos contenido $blanco = imagecolorallocate($imagen,255,255,255); $negro = imagecolorallocate($imagen,0,0,0); $rojo = imagecolorallocate($imagen,200,0,0); $verde = imagecolorallocate($imagen,0,130,0); $gris = imagecolorallocate($imagen,140,140,140); imagefilledrectangle($imagen,50,50,145,250,$verde); imagefilledrectangle($imagen,255,50,350,250,$rojo); imagefilledellipse($imagen,200,150,80,80,$gris); imagerectangle($imagen,50,50,350,250,$negro); // Damos salida a la imagen imagegif($imagen); // Destruimos la imagen imagedestroy($imagen); ?>
En PHP GD imagen por admin hace on 30/1/08 | Comentarios
