Últimos snippets
Clearfix CSS Hack
Más info en http://perishablepress.com/press/2008/02/05/lessons-learned-concerning-the-clearfix-css-hack/
/* slightly enhanced, universal clearfix hack */ .clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } .clearfix { display: inline-block; } /* start commented backslash hack */ * html .clearfix { height: 1%; } .clearfix { display: block; } /* close commented backslash hack */
En CSS hack float clear por alberto hace on 17/2/08 | Comentarios
Selects de fechas
Para capturar en un solo paso el POST generado por estos selects, utilizamos la siguiente función, a la que hay que pasarle: El nombre base del POST(Ej: "fecha_nacimiento"), opcionalmente el método por el que se pasó y, si es un array de POST, la clave que se quiere transformar
/** * Generar selects de fecha. * * Genera selects de fecha agrupados por el mismo nombre más su posición en la fecha hora * (Ej: $nombre = 'fecha_nacimiento' => * <select name="fecha_nacimiento_dia">, * <select name="fecha_nacimiento_mes">, * <select name="fecha_nacimiento_ano"> ) * @param texto $nombre El nombre de los selects * @param date $default La fecha que debe aparecer seleccionada * @param $atributos Un array con los atributos para cada select (pej, array('class="dia"' ,'class="mes"', 'class="año"') */ function html_select_fecha($nombre, $default, $atributos=array(),$fecha_minima='2000-01-01',$fecha_maxima=false){ }else{ $post=''; } if (!$fecha_minima){$fecha_minima='0-0-0';} if (!$fecha_maxima){$fecha_maxima='0-0-0';} } }else{ } if ($min_dia <= $t_dia && ((!$max_dia) || $max_dia >= $t_dia)){ } } if ($min_mes <= $t_mes && ((!$max_mes) || $max_mes >= $t_mes)){ } } if ($min_ano <= $t_ano && ((!$max_ano) || $max_ano >= $t_ano)){ $anos[$t_ano]=$t_ano; } } ?> <? select_options($dias,$dia) ?> </select> <? select_options($meses,$mes) ?> </select> <? select_options($anos,$ano) ?> </select> <? }
El resultado de aplicar la funcion "agrupar_fecha" a un POST armado por
/** * Transforma 3 variables pasadas por post a una string fecha. * * Obtiene los valores de los posts generados en la función html_select_fecha */ function agrupar_fecha($nombre, $origen = "",$key=''){ //se le pasa el nombre con el que fue generado el select fecha if(!$origen)$origen=$_REQUEST; $ano=$origen[$nombre."_ano"][$key]; }else{ $ano=$origen[$nombre."_ano"]; } }else{ $ano='0000'; } $mes=$origen[$nombre."_mes"][$key]; }else{ } }else{ $mes='00'; } $dia=$origen[$nombre."_dia"][$key]; }else{ $dia=$origen[$nombre."_dia"]; } }else{ $dia='00'; } $fecha=$ano."-".$mes."-".$dia; return $fecha; }
En PHP selects fecha html por haboc hace on 10/2/08 | Comentarios
Lista de opciones para select o list
// string get_select_options(array $q, string $selected="", bool $nk=false) // $q Array de origen // $selected Clave del elemento seleccionado. Puede ser un arreglo. // $nk Si es true se utilizará como valor de las opciones el valor del elemento del arreglo y no las claves. function get_select_options($q,$selected="",$nk=false) { $res = ""; foreach($q as $k=>$v) { $k=$nk?$v:$k; $e=""; if($sarr) { } else { $e=($selected==$k)?" selected=\"selected\"":""; } $res.="<option value=\"$k\"$e>$v</option> n"; } return $res; } /* Ejemplo: $elems = array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",7=>"Julio",8=>"Agosto",9=>"Septiembre",10=>"Octubre",11=>"Noviembre",12=>"Diciembre"); $options = get_select_options($elems); echo "Mes de cumpleaños: <select name=\"mes\">$options</select>"; Otro ejemplo: $elems = array(); $dia = 5; for($i=1;$i<=31;$i++) $elems[]=$i; $options = get_select_options($elems,$dia,true); echo "Dia de cumpleaños: <select name=\"dia\">$options</select>"; */ // http://www.cqsoft.com.ar
En PHP select list option lista opciones array arreglo por geq hace on 8/2/08 | Comentarios
min-height también en IE6
#elemento { height: auto !important; height: XXXpx; min-height: XXXpx; }
En CSS css min-height por brainet hace on 7/2/08 | Comentarios
Calcular distancia entre 2 puntos
function getDistance($lat1, $long1, $lat2, $long2) { $earth = 6371; //km //$earth = 3960; //millas //Punto 1 coordenadas //Punto 2 coordenadas $dlong=$long2-$long1; $dlat=$lat2-$lat1; $d=($earth*$c); return $d; }
En PHP calcular distancias coordenadas google maps por javito hace on 5/2/08 | Comentarios
Comprobación de página inexistente
/** * function valida_enlace (string $url, boolean $formato = true) * * Comprueba si un enlace no devuelve un 404 * * return boolean */ function valida_enlace ($url, $formato = true) { $head = getHeaders($url, $formato); }
En PHP 404 página inexistente por Lito hace on 4/2/08 | Comentarios
Obtener encabezados de una dirección web
/** * function getHeaders (string $url, boolean $formato = true) * * Devuelve las cabeceras de una dirección web * Solo acepta HTTP como metodo * * Si $formato es true devuelve un array asociativo, * de lo contrario, un array de claves simples * * return array */ function getHeaders ($url, $formato = true) { return @get_headers($url, $formato); } return false; } $path = '/'; } else { $path = $partes['path']; } $path .= '?'.$partes['query']; } if (!$socket) { return false; } $header = 'HEAD '.$path.' HTTP/1.1'."\r\n" .'Connection: Close'."\r\n\r\n"; $fin = false; if ($header == "\r\n") { $fin = true; break; } else { } if ($formato == 1) { if ($key == $header) { $datos[] = $header; } else { } } else { $datos[] = $header; } } } return $datos; }
En PHP encabezados cabeceras url por Lito hace on 4/2/08 | Comentarios
Enviar un formulario desde PHP
/** * function enviaPOST (string $host, string $url, array $datos, boolean $error = false) * * Envia un formulario a una url remota y obtiene el resultado * * @$host: Servidor de destino * @$url: Url del fichero que recibirá el formulario * @$datos: Datos que se enviarán, en formato $datos['clave'] = 'valor'; * @$error: Enseñar el error en caso de problemas en el envío * * return string */ function enviaPOST ($host, $url, $datos, $error = false) { $postdata = ''; if (!$da) { return false; } foreach ($datos as $k => $v) { } } $respuesta = ''; $salida = 'POST '.$url.' HTTP/1.1' ."\r\n".'Host: '.$host ."\r\n".'User-Agent: PHP Script' ."\r\n".'Content-Type: application/x-www-form-urlencoded' ."\r\n".'Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66' ."\r\n".'Connection: close' ."\r\n\r\n".$postdata; } } return false; }
En PHP post enviar formulario por Lito hace on 4/2/08 | Comentarios
Crear directorios de manera recursiva
/** * function dir_recursivo (string $destino) * * Crea un arbol de directorios de manera recursiva * * return boolean */ function dir_recursivo ($destino) { return true; } $dir = ''; foreach ($dirs as $part) { continue; } $dir .= '/'.$part; if ($part == '..') { continue; } if (!$ok) { return false; } } } }
En PHP directorios recursivo por Lito hace on 4/2/08 | Comentarios
Texto simple para URL
/** * function palabra_simple (string $texto, boolean $min, boolean $html = false) * * Cambia las letras con tildes, eñes o caracteres raros por su concordancia natural. * En caso de que min sea true devolvera el texto en minúsculas. * * @$min: true/false para devolver el resultado en minúsculas * @$html: true/false si la cadena de texto que recibe está formateada con htmlentities * * return string */ function palabra_simple ($texto, $min = true, $html = false) { if (!$html) { } $texto = preg_replace(array('/[^a-z0-9_-]/i', '/-+/', '/^-/', '/-$/',), array('-', '-', '', ''), $texto); }
En PHP url texto simple por Lito hace on 4/2/08 | Comentarios
