FingerCatch! 0.1
Presiona la mano en la posición indicada por el número grande. En rojo los errores, en verde los aciertos. Suerte!
[Download FingerCatch! 0.1]
Tengo una buena canción para cantar...

Tool - Stinkfist
Lyric...

Mis To-Do's


The good lord FSM
[[http://pena2.org]] [Remember: Un Slogan aqui]

June 22, 2005

Funciones sencillas pero útiles en PHP

Filed under: programacion, PHP — pena2 @ 12:02 pm

Con mi poca experiencia en PHP, el lenguaje q uso para apps web (como Losdelafoto.com), me ha tocado hacer unas funciones q me han ayudado bastante. Aunque sencillas, las comparto con uds compañeros geek o geek-wannabe. Usenlas libremente y si alguna les sirvi, haganme un comentario para alentarme a seguir aprendiendo ;). Con ellas podran:

  • Evitar tags HTML y modificar datos de formularios
  • Generar SELECTS para ingreso de fechas o cantidades
  • Crear un thumbnail de una imagen JPG
  • Insertar un logo con transparencia a una imagen JPG
  • Crear password con caracteres random/aleatorios

Evitar tags HTML y modificar datos de formularios:
Al recibir info de un formulario (como datos personales) un usuario puede haber puesto espacios a los lados y algunos tratan de poner tags HTML para joder la presentacion del sitio, pero uno q es mas cabron lo puede evitar tan facil como asi
function checkString($s) {
    $s = str_replace("<","&lt;",$s);
    $s = str_replace(chr(13),"<br>",$s);
    return trim($s);
}
$nombre=checkString($_POST['nombre']);

Generar SELECTS para ingreso de fechas o cantidades:
Para ingresar fechas o cantidades es aburrido escribir en HTML los <select> con cada numero, y por q hacerlo si PHP es maravilloso y lo puede hacer por nosotros algo asi:
function selectt($name, $startt, $endd, $first, $selected=false){
  echo("<select name=$name>");
  echo("<option value=>$first");
  if ($startt< =$endd) {
    for ($i=$startt; $i<=$endd; $i++){
      $sell_str= $selected==$i ? "selected" : "";
      echo("<option $sell_str value=$i>$i</option>”);
    }
  } else {
    for ($i=$startt; $i>=$endd; $i–){
      echo(”<option value=$i>$i</option>”);
    }
  }
  echo(”</select>”);
}

$name es el nombre del <select>, $startt y $endd los valores donde empezar y terminar, $first es el valor q dice “dia” o “mes” para que el usuario sepa que ingresar en el campo y $selected (opcional) es por si quiero que aparezca seleccionado un valor por default.

Crear un thumbnail de una imagen JPG
Si los usuarios pueden hacer upload de imagenes (JPG en este caso, pero se puede extender a los formatos q soporta GD) uds pueden crear automaticamente un thumbnail de esta imagen con esta funcion dandole el ancho de este y donde guardarlo:
function makeThumb($image, $newWidth, $dirr) {
  $src_img= imagecreatefromjpeg($image);
  $old_x= imageSX($src_img);
  $old_y= imageSY($src_img);
  $thumb_w= $newWidth;
  $thumb_h= ($newWidth / $old_x) * $old_y;
  $dst_img= ImageCreateTrueColor($thumb_w,$thumb_h);
  imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y);
  imagejpeg($dst_img,$dirr);
  imagedestroy($dst_img);
  imagedestroy($src_img);
}

Insertar un logo con transparencia a una imagen JPG
En Losdelafoto.com a cada imagen publicada le pongo un logo PNG con transparencia en la esquina derecha de abajo con esta funcion:
function copyLogo($filee, $logo){
  $destimm= imagecreatefromjpeg($filee);
  $imm_x=imageSX($destimm);
  $imm_y=imageSY($destimm);
  $logo= imagecreatefrompng($logo);
  $logo_x=imageSX($logo);
  $logo_y=imageSY($logo);
  imagecopy($destimm, $logo, $imm_x-$logo_x-3, $imm_y-$logo_y-3, 0, 0, $logo_x, $logo_y);
  imagejpeg($destimm, $filee);
  imagedestroy($destimm);
  imagedestroy($logo);
}

donde comopodran adivinar, $file es la imagen y $logo el logo… ;)

Crear password con caracteres random/aleatorios
Para crear un password random para un usuario uso una funcion algo asi:
function make_seed() {
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
function randStr($long){ //largo de string random
  $valuess="abcdefghijklmnopqrstuvwxyz0123456789";
  $resultt="";
  mt_srand(make_seed());
  for ($i=1; $i < = $long; $i++){
    $resultt .= $valuess[mt_rand(0,strlen($valuess)-1)];
  }
  return $resultt;
}

4 Responses to “Funciones sencillas pero útiles en PHP”

  1. SomeReader Says:

    basicas… porque hacer que un n0b implemente una funcion para remover tags, si desde la 3.0.8 existe strip_tags? la cual ademas te permite introducir tags que podrian querer mantener?
    http://www.php.net/manual/es/function.strip-tags.php

    con las demas mejor ni sigo… pero bueno, al parecer estas aprendiendo.

    suerte

    Este guey uso Internet Explorer Internet Explorer 6.0 y Windows Windows XP
  2. pena2 Says:

    :$
    si, estaba aprendiendo… vaya!!

    Este guey uso Mozilla Firefox Mozilla Firefox 1.5.0.1 y Windows Windows XP
  3. Jorge Andres Says:

    Eso es lo importante: Que aprendas
    Ademas, nunca hemos perdido la fe en vos!
    jajaja

    Este guey uso Mozilla Firefox Mozilla Firefox 1.5.0.1 y Windows Windows XP
  4. pena2 Says:

    No conocia strip_tags() en ese entonces, me las ingenie. A veces como q siente uno mas rapido hacerlo a su manera q buscar las opciones de otros… no siempre es bueno eso…

    Este guey uso Mozilla Firefox Mozilla Firefox 1.5.0.1 y Windows Windows XP

Leave a Reply