7 trozos de código en PHP
In: php
7 sep 2009
De htmlblog.net, extraigo 7 de los 10 trozos de código que hay publicados, que son muy prácticos y usados a menudo en proyectos.
Algunos son funciones y otros son clases.
- Comprobar dirección de correo: clase para validar direcciones de correo.
include('EmailAddressValidator.php'); $validator = new EmailAddressValidator; if ($validator->check_email_address('test@example.org')) { // Email correcto } else { // Email incorrecto }
- Generador de contraseñas aleatorias: con posibilidad de definir longitud y complejidad de la contraseña.
function generatePassword($length=9, $strength=0) { $vowels = 'aeuy'; $consonants = 'bdghjmnpqrstvz'; if ($strength & 1) { $consonants .= 'BDGHJLMNPQRSTVWXZ'; } if ($strength & 2) { $vowels .= "AEUY"; } if ($strength & 4) { $consonants .= '23456789'; } if ($strength & 8) { $consonants .= '@#$%'; } $password = ''; $alt = time() % 2; for ($i = 0; $i < $length; $i++) { if ($alt == 1) { $password .= $consonants[(rand() % strlen($consonants))]; $alt = 0; } else { $password .= $vowels[(rand() % strlen($vowels))]; $alt = 1; } } return $password; }
- Obtener la dirección IP del visitante: mira la IP del ordenador del cliente o si viene de un proxy.
function getRealIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip=$_SERVER['REMOTE_ADDR']; } return $ip; }
- Forzar la descarga de un archivo: por ejemplo, una imagen que es cargada por el navegador, y se desea que aparezca la ventana de descarga.
header("Content-type: application/octet-stream"); // permite mostrar la barra de progreso mientras se descarga header("Content-Length: " . filesize('myImage.jpg')); header('Content-Disposition: attachment; filename="myImage.jpg"'); readfile('myImage.jpg');
- Enviar emails: utilizando la clase PHPMailer.
include("class.phpmailer.php"); $mail = new PHPMailer(); $mail->From = 'tu@email.com'; $mail->FromName = 'Mi email'; $mail->Host = 'smtp.site.com'; $mail->Mailer = 'smtp'; $mail->Subject = 'Mi asunto'; $mail->IsHTML(true); $body = 'Hola Como estas?'; $textBody = 'Hola, como estas ?'; $mail->Body = $body; $mail->AltBody = $textBody; $mail->AddAddress('asdf[@] gmail.com'); if(!$mail->Send()) echo 'Ha habido un error en el envío del email!';
- Subir archivos y tratar imágenes: clase para subir archivos y tratar las imágenes subidas para realizar miniaturas o otras transformaciones.
$uploadedImage = new Upload($_FILES['imagen_subida']); if ($uploadedImage->uploaded) { $uploadedImage->Process('mis_subidas'); if ($uploadedImage->processed) { echo 'El archivo ha sido subido'; } }
- Listado de todos los archivos de un directorio.
function dirList ($directory) { // create an array to hold directory list $results = array(); // create a handler for the directory $handler = opendir($directory); // keep going until all files in directory have been read while ($file = readdir($handler)) { // if $file isn't this directory or its parent, // add it to the results array if ($file != '.' && $file != '..') $results[] = $file; } // tidy up: close the handler closedir($handler); // done! return $results; }
Entradas relacionadas:
- Tags: contraseñas, email, php, validación
Formulario de Comentario
Página 1 de 11
