Autor
|
Tema: Glosario de funciones (Leído 35,410 veces)
|
-Riven-Ward-
RivenSoft
Desconectado
Mensajes: 2.215
Do you like Mario? xDDDDDDDDDDDD
|
Buenas. Les comentaré una idea que tuve ayer por la noche . Se me ocurrió un post, en que cada uno fuera pusiendo las funciones que ha hecho (en PHP o en ASP). Siguiendo un esquema, explicando para que sirven y como se usan. Así, cuando un usuario quiera saber si existe tal función, en vez de preguntar, primero se pasa por aquí, ve si alguien la puso, y si no está, postea (esa es la idea, no creo que mucha gente lo haga, pero en fin xD). El esquema a seguir sería el siguiente: Nombre de la función: Descripción: Lenguaje: Código: Explicación: Modo de uso: Claro, pueden saltar el último paso, "Explicación", y poner la explicación junto con el código . Aquí les dejo dos, que fueron las primeras que encontré: Nombre de la función: npar( int num) Descripción: Dado num, devuelve si es o no par. Lenguaje: PHP <?php function npar ($num) { $num = (int)$num; if ($num % 2 == 0) { echo "El número ".$num." es par"; } else { echo "El número ".$num." no es par"; } } ?> Explicación: Bueno, básicamente primero se declara la función, que tendrá como parámetro $num, que es el número que queremos saber si es par o no. Luego, mediante el cast (int) hacemos que si la variable contiene letras también, se las saque, para los tramposillos . Bien, ahora, como sabrán, para saber si un número es par, debemos dividirlo por dos. Si el resto es 0, entonces es par. Y eso es justamente lo que hace el if. Lo que hace el operador matemático % es dividir por X número y devolver el resto. Entonces, vemos si el resto entre $num y 2 es igual a 0. Si lo es, devolvemos que el número es par. Si no, devolvemos que no lo es . Modo de uso: Simple. <?php [...] npar ("23"); //En vez de 23 ponen su número ?> Bueno, cambio de planes xD, la otra función se las pongo después porque me mandaron a estudiar. Recuerden, ASP o PHP, y funciones, no scripts. Salu2!
|
|
|
En línea
|
Usuario Banneado
|
|
|
eLank0
eLhAcKeR r00Lz
Desconectado
Mensajes: 1.062
|
EnaZ!!! Nombre de la función: protege(string) Descripción: Dada una variable, la protege de código HTML malicioso como ' etc.. Lenguaje: PHP <?php function protege($texto) {
$texto = str_replace("'", "\'", $texto);
$texto = htmlspecialchars ($texto);
$texto = htmlentities ($texto);
$texto = trim ($texto);
return $texto;
} ?> Primero declaramos la función, que contendrá como parámetros una string. En la primera línea, substituimos todas las apariciones de ' por una \. En las 2 líneas siguientes, substituimos todo código HTML por texto equivalente por ejemplo: < == < En la última línea qliminamos todos espacios en blanco al principio y al final de la string. Modo de uso:<?php $variable = protege($variable); ?> Recomendaciones: Es ideal para proteger datos de los formularios. Salu2!
|
|
« Última modificación: 15 Abril 2005, 15:52 pm por Cuantico »
|
En línea
|
|
|
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
Nombre de la función: Fecha XD Descripción:Muestra la fecha en formato Nombre_dia #d de mes de año Viernes 08 de Abril de 2005Lenguaje: PHP Código:<?php function fecha(){ $dia = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado"); $mes = array("0","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"); $dian = date("w"); $mesn = date("n"); $fecha = $dia[$dian]; $fecha .= " "; $fecha .= date("d"); $fecha .= " de "; $fecha .= $mes[$mesn]; $fecha .= " de "; $fecha .= date("Y"); echo $fecha; }?> Explicación: Pues creo que no hace falta explicacion, nada mas hacer referencia a estas lineas $dian = date("w"); // el parametro "w" da el dia sin ceros al principio "1,2,3" en lugar de "01,02,03" $mesn = date("n"); // el parametro "n" da el mes sin ceros >.< Modo de uso:<?php // puedes incluirlo en un archivo de tomarlo de ahí =P feacha(); ?> Comentarios del autor: Pues, que es facil XD pero, espero que les sea de utilidad =), pondre algunas mas que he hecho XD
|
|
|
En línea
|
|
|
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
Nombre de la función: Fecha # Descripción:Pasa la fecha del formato año-mes-dia ( 2004-04-23 ) que es el formato que se guarda en campos tipo date mysql serevr x) a formato dia/mes/añoo sea, pasa de: 2004-04-23 a 08/04/2005 Lenguaje: PHP Código: <?php function fechaN($fecha){ $fecha = explode("-",$fecha]); echo $fecha['2']."/".$fecha['1']."/".$fecha['0']; } ?> Modo de uso: <?php // puedes incluirlo en un archivo de tomarlo de ahí =P feachaN("2004-04-23"); ?> Comentarios del autor: Puedes usarla en conjunto con bases de datos, de hecho la hice para usarla asi XD, se caca el valor del campo y lo muestra de una forma bonita. la pasa a la fecha en español en numeros =P
|
|
|
En línea
|
|
|
|
Azielito
no es
Colaborador
Desconectado
Mensajes: 9.188
>.<
|
Nombre de la función:FreeStyle>_< Descripción:Inserta el archivo de estilos (.CSS) Lenguaje:PHP Código:<?php function estilo($archivo){ $archivo = strtolower($archivo); if($archivo==""){ echo "<font color=\"#FF0000\" size=\"2\">Debes especificar la ubicación del archivo de estilo.</font>"; exit; } if(!strpos($archivo,".css")){ echo "<font color=\"#FF0000\" size=\"2\">El archivo debe tener extención <b>.css</b></font>"; } echo "<link href=\"$archivo\" rel=\"stylesheet\" type=\"text/css\">"; } ?> Explicación:Valida, en primer instancia, que tenga una cadena, despues verifica que el archivo es válido, o sea que tenga extención CSS =) Modo de uso:<?php estilo("style.css"); ?> Puede servirte si tienes una web de esas que dice que construyas tu sitio en 3 pasos XD, o, tambien para hacer una web tipo "camaleon" o algo asi =P
|
|
|
En línea
|
|
|
|
Cuantico
qantic.net
Colaborador
Desconectado
Mensajes: 1.830
no paiN? no gAIn! !.
|
Nombre de la funcion: Hubo Error Descripcion: Buena para formularios, si hubo un error puedes llamar a la funcion con tu mensaje.. para que advierta... codigo: <?php function comprobar($mensaje) { echo '<script language="javascript">alert("'.$mensaje.'\n\nError"); javascript:history.back(1)</script>'; exit; }
?>
Explicacion. Con el mensaje. te da un alert y luego q le das a ok, te devuelve al formulario. modo de uso: <?php comprobar('elhacker.net te da la bienvenida'); ?>
|
|
|
En línea
|
|
|
|
Morris
Ex-CoAdmin y
Ex-Staff
Desconectado
Mensajes: 1.964
|
Nombre de la función:Nombres Aleatorios Descripción:Genera nombres aleatorios Lenguaje:ASP ' Funcion para generar nombres aleatorios Function GeneraNombreRandom(strNombreArchivo) Dim strFecha 'Quita caracteres ilegales strFecha = Year(Now) & String(2 - Len(Month(Now)), "0") & Month(Now) & String(2 - Len(Day(Now)), "0") & Day(Now) Randomize 'Regresa GeneraNombreRandom = strNombreArchivo & strFecha & "_" & CStr(Round(Rnd * 1000000)) End Function
|
|
|
En línea
|
|
|
|
Zagalet
Desconectado
Mensajes: 6
|
Nombre de la función: Formato links Descripción: Convertir una url o e-mail de un texto en enlace Lenguaje: PHP Código:<?php function formato_links($chk_str){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // convertir una cadena a un enlace web o mail
$a = explode(" ", $chk_str); for($i=0; $i<count($a); $i++){ $b = str_replace("www.", "http://www.", $a[$i]); $b = str_replace("http://http://", "http://", $b); $pos = strpos($b, "http://"); if ($pos === false) { // ojo: 3 signos = $url_found = false; } else { $url_found = true; } if($url_found){ $a[$i] = "<a href='$b' target=_blank>$chk_str</a>"; } $pos = strpos($b, "@"); if($pos === false){ $email = false; } else { $email = true; } if($email){ $a[$i] = "<a href='mailto:$b'>$b</a>"; } } $chk_str = implode(" ", $a); return $chk_str; } ?> Explicación:Cualquier texto que imprimas donde haya una url o una dirección de correo electónico aparecerá como un enlace Modo de uso:Simplemente se llama a la función pasandole la cadena de texto: <?php echo formato_links($texto); ?>
|
|
« Última modificación: 18 Mayo 2005, 18:15 pm por Zagalet »
|
En línea
|
|
|
|
Zagalet
Desconectado
Mensajes: 6
|
Nombre de la función: Colección de funciones de fechas Descripción: Leer las cabeceras de cada funcion para saber descripcion y modo de uso. Hay funciones que requieren alguna de las otras para ejecutarse Lenguaje: PHP <?php /*********************************************************** COLECCION DE FUNCIONES DE FECHAS, OPERACIONES ENTRE FECHAS, FORMATOS DE FECHAS.... etc Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com ************************************************************/
function fecha_actual($fecha_actual){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Obtener la fecha actual de la forma de BDD aaaa-mm-dd
$fecha_actual = time(); $dia = date("d", $fecha_actual); $mes = date("m", $fecha_actual); $ano = date("Y", $fecha_actual); $fecha_actual=$ano.'-'.$mes.'-'.$dia; return $fecha_actual; } //************************************************************ function hora_actual($hora_actual){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Obtener la hora actual (24h) de la forma HHMM
$fecha_actual = time(); $hora = date("H", $fecha_actual); $minutos = date("i", $fecha_actual); $hora_actual=$hora.$minutos; return $hora_actual; } //************************************************************ function fecha_barras($cadena_fecha){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // convertir una fecha de la forma aaaa-mm-dd a dd/mm/aaaa
$dia = substr ($cadena_fecha, 8, 2); $mes = substr ($cadena_fecha, 5, 2); $ano = substr ($cadena_fecha, 0, 4);
$cadena_fecha=$dia.'-'.$mes.'-'.$ano; if ($dia){ return $cadena_fecha; } } //************************************************************ function fecha_barras_corta($cadena_fecha){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // convertir una fecha de la forma aaaa-mm-dd a dd/mm/aa
$dia = substr ($cadena_fecha, 8, 2); $mes = substr ($cadena_fecha, 5, 2); $ano = substr ($cadena_fecha, 2, 2); $cadena_fecha=$dia.'/'.$mes.'/'.$ano; if ($dia){ return $cadena_fecha;} } //************************************************************ function nombre_mes($mes){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Devuelve el nombre del mes a partir de su numero (de 1 a 12) switch ($mes) { case 1: $mes="Enero"; break; case 2: $mes="Febrero"; break; case 3: $mes="Marzo"; break; case 4: $mes="Abril"; break; case 5: $mes="Mayo"; break; case 6: $mes="Junio"; break; case 7: $mes="Julio"; break; case 8: $mes="Agosto"; break; case 9: $mes="Septiembre"; break; case 10: $mes="Octubre"; break; case 11: $mes="Noviembre"; break; case 12: $mes="Diciembre"; break; }
return $mes; } //************************************************************ function formato_fecha($cadena_fecha){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // convertir una fecha de la forma aaaa-mm-dd a (dia de mes de año)
$dia = substr ($cadena_fecha, 8, 2); $mes = substr ($cadena_fecha, 5, 2); $ano = substr ($cadena_fecha, 0, 4);
switch ($mes) { case 1: $mes="enero"; break; case 2: $mes="febrero"; break; case 3: $mes="marzo"; break; case 4: $mes="abril"; break; case 5: $mes="mayo"; break; case 6: $mes="junio"; break; case 7: $mes="julio"; break; case 8: $mes="agosto"; break; case 9: $mes="septiembre"; break; case 10: $mes="octubre"; break; case 11: $mes="noviembre"; break; case 12: $mes="diciembre"; break; }
if ($dia<10) $dia = substr ($dia, -1); // mostramos el dia sin el cero delantero
$cadena_fecha=$dia.' de '.$mes.' de '.$ano; if ($dia){ return $cadena_fecha; } } //************************************************************ function fecha_corta($cadena_fecha){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // convertir una fecha de la forma aaaa-mm-dd a fecha de la forma // (dd nombre_mes_corto). Ej: "25 Dic"
$dia = substr ($cadena_fecha, 8, 2); $mes = nombre_mes(substr ($cadena_fecha, 5, 2)); # Funcion requerida nombre_mes($mes) $mes = substr ($mes, 0, 3); $dia=(int)$dia; $cadena_fecha=$dia.' '.$mes; if ($dia){ return $cadena_fecha; } } //************************************************************ function calcula_numero_dia_semana($dia,$mes,$ano){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Devuelve el número de día de la semana (1=lunes, 7=domingo...) // a partir de una fecha dada, pasandole el dia, el mes y el año
$numerodiasemana = date('w', mktime(0,0,0,$mes,$dia,$ano)); if ($numerodiasemana == 0) $numerodiasemana = 6; else $numerodiasemana--; return $numerodiasemana; } //************************************************************ function dia_semana($dia,$mes,$ano){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Devuelve el día (primera letra) de la semana a partir // de una fecha dada, pasandole el dia, el mes y el año
$numerodiasemana = date('w', mktime(0,0,0,$mes,$dia,$ano)); if ($numerodiasemana == 0) $numerodiasemana = 6; else $numerodiasemana--; $numerodiasemana++; switch ($numerodiasemana) { case "1": return 'L'; break; case "2": return 'M'; break; case "3": return 'X'; break; case "4": return 'J'; break; case "5": return 'V'; break; case "6": return 'S'; break; case "7": return 'D'; break; } } //************************************************************ function ultimodia($mes,$ano){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Devuelve cual es el ultimo día de un mes (28, 29, 30 o 31) // a partir del numero de mes y el año
$ultimo_dia=28; while (checkdate($mes,$ultimo_dia + 1,$ano)){ $ultimo_dia++; } return $ultimo_dia; } //************************************************************ function fecha_segundos($fecha){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Devuelve la cadena en forma de segundos a partir de una fecha de la forma aaaa-mm-dd
$HH1=0; $MM1=0; $SS1=0; $m1=substr ($fecha, 5, 2); $d1=substr ($fecha, 8, 2); $a1=substr ($fecha, 0, 4); $fecha_out = mktime($HH1,$MM1,$SS1,$m1,$d1,$a1); //HH,MM,SS,MM,DD,AA
return $fecha_out; } //************************************************************ function operacion_fechas($fecha1,$operacion,$fecha2){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Devuelve los dias (puede devolver horas o minutos tambien) // a partir de dos fechas de la forma aaaa-mm-dd y un operador artmetico ( "+" o "-" ) // Operaciones: $operacion (+ o -) suma o resta // datos $fecha recibida en tipo mysql aaaa-mm-dd
//$fecha1 $HH1=0; $MM1=0; $SS1=0; $m1=substr ($fecha1, 5, 2); $d1=substr ($fecha1, 8, 2); $a1=substr ($fecha1, 0, 4);
//$fecha2 $HH2=0; $MM2=0; $SS2=0; $m2=substr ($fecha2, 5, 2); $d2=substr ($fecha2, 8, 2); $a2=substr ($fecha2, 0, 4);
$fecha1 = mktime($HH1,$MM1,$SS1,$m1,$d1,$a1); //HH,MM,SS,MM,DD,AA $fecha2 = mktime($HH2,$MM2,$SS2,$m2,$d2,$a2); //HH,MM,SS,MM,DD,AA
if ($operacion=='+') $operacion=$fecha1+$fecha2; if ($operacion=='-') $operacion=$fecha1-$fecha2;
$minutos=(int)($operacion/(60)); $horas=(int)($operacion/(60*60)); $dias=(int)($operacion/(60*60*24));
return $dias; //La usamos para que devuelva dias, // pero lo dejo preparado para que devuelva horas y minutos } //************************************************************ function operacion_dias($fecha1,$operacion,$dias){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Partiendo de una fecha de la forma aaaa-mm-dd, de un numero X // de dias y un operador artmetico ( "+" o "-" ) te devuelve la fecha resultado // a la que le hemos sumado o restado X dias // Operaciones: $operacion (+ o -) suma o resta // datos $fecha1 recibida en tipo mysql aaaa-mm-dd
//$fecha1 $HH1=0; $MM1=0; $SS1=0; $m1=substr ($fecha1, 5, 2); $d1=substr ($fecha1, 8, 2); $a1=substr ($fecha1, 0, 4);
$fecha1 = mktime($HH1,$MM1,$SS1,$m1,$d1,$a1); //HH,MM,SS,MM,DD,AA $dias=$dias*24*3600; //a segundos if ($operacion=='+') $operacion=$fecha1+$dias; if ($operacion=='-') $operacion=$fecha1-$dias;
$dia = date("d", $operacion); $mes = date("m", $operacion); $ano = date("Y", $operacion); $fecha=$ano.'-'.$mes.'-'.$dia;
return $fecha; //Devuelve la fecha a la que le hemos sumado o restado x dias } //************************************************************ function calcular_dias_fin_semana($fecha1,$fecha2) { /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Devuelve el numero de dias que son sabado o domingo entre // la fecha1 y la fecha2 (las dos de la forma aaaa-mm-dd)
$total_dias=0; # se requiere la funcion operacion_dias($fecha1,$operacion,$dias) for ( $date=$fecha1; $date<=$fecha2; $date=operacion_dias($date,'+',1) ) { $mes=substr ($date, 5, 2); $dia=substr ($date, 8, 2); $any=substr ($date, 0, 4); $letra_dia=dia_semana($dia,$mes,$any); if ( ($letra_dia=='S') or ($letra_dia=='D') ) //comprobamos si fin de semana $total_dias++; }
return $total_dias; } //************************************************************ function operacion_anys($fecha1,$operacion,$anys){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Partiendo de una fecha de la forma aaaa-mm-dd, de un numero // X de años y un operador artmetico ( "+" o "-" ) te devuelve la fecha resultado // a la que le hemos sumado o restado X años // Operaciones: $operacion (+ o -) suma o resta // datos $fecha1 recibida en tipo mysql aaaa-mm-dd
//$fecha1 $m1=substr ($fecha1, 5, 2); $d1=substr ($fecha1, 8, 2); $a1=substr ($fecha1, 0, 4);
if ($anys<1) { $meses=(int)($anys*12); if ($operacion=='+') { $m1=$m1+$meses; if ($m1>12) { $m1=($m1-12); $a1++; } } if ($operacion=='-') { $m1=$m1-$meses; if ($m1<=0) { $m1=(12-$m1); $a1--; } } } else { if ($operacion=='+') $a1=$a1+$anys; if ($operacion=='-') $a1=$a1-$anys; }
if ( (!checkdate($m1,$d1,$a1)) and ($d1==29) and ($m1==2) ) $d1=28; //comprobacion de año bisiesto
if ($a1<10) $a1='0'.(int)$a1; if ($m1<10) $m1='0'.(int)$m1; $fecha=$a1.'-'.$m1.'-'.$d1;
return $fecha; //Devuelve la fecha a la que le hemos // sumado o restado x años } //************************************************************ function comprobar_fecha($fecha){ /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // Le pasamos una fecha de la forma aaaa-mm-dd y la devuelve si es correcta o devuelve 0 si es una fecha incorrecta o imposible
$correcto=0; $m1=substr ($fecha, 5, 2); $d1=substr ($fecha, 8, 2); $a1=substr ($fecha, 0, 4); $correcto=checkdate($m1,$d1,$a1);
return $correcto; }
?>
|
|
|
En línea
|
|
|
|
Zagalet
Desconectado
Mensajes: 6
|
Nombre de la función: Crear select Descripción: Te crea un select de un formulario a partir de unos datos extraidos de una BDD MySql. Se da por supuesta la conexion a la BDD antes de llamar a la función, en caso contrario es necesario agregar las lineas de codigo necesarias para realizar el connect Lenguaje: PHP con MySql <?php function crear_select($tabla,$campo_mostrar,$campo_opcional,$campo_valor,$name,$selected) /* Autor: Dani Mayandía 'Zagalet' (2005) www.zagalet.com correo@zagalet.com */ // crea un select para formularios con los datos de una tabla de una BDD MySql
# $tabla -> nombre de la tabla de la bdd # $campo_mostrar -> nombre del campo de la bdd cuyo valor sera el que se muestra al desplegar el select # $campo_opcional -> por si queremos mostrar la combinacion de dos valores ej. nombre + apellido. Si ninguno =''; # $campo_valor -> nombre del campo que servirá para darle valor a cada option del select. Normalmente el index # $name -> nombre e id que le daremos al select # $selected -> valor en caso de que haya una opcion marcada para dejar selecionado
{ $out='<select name="'.$name.'" id="'.$name.'">'; if (!isset ($selected)) $out.='<option value="" '.$seleccionado.'>'.$tabla.'</option>'; $sql='SELECT * FROM '.$tabla.' ORDER BY '.$campo_mostrar.' ASC'; $result=mysql_query($sql); while ($row=mysql_fetch_array($result)) { if ( ($row[$campo_valor]) == ($selected) ) $seleccionado='selected'; else $seleccionado=''; $out.='<option value="'.$row[$campo_valor].'" '.$seleccionado.'>'.$row[$campo_mostrar]; if ($campo_opcional!='') $out.=' '.$row[$campo_opcional]; $out.='</option>'; } $out.='</select>'; return $out; } ?>
Explicación:A veces en un formulario es necesario crear un select entre las opciones sacadas de una BDD, esta funcion te crea el select. Modo de uso: Le pasas los parametros necesarios que hay explicados en la cabecera de la función y se imprime la salida. Ej: <?php connect('on'); //llamo a una funcion que me conecta con la BDD echo crear_select('coches','modelo','marca','id_coches','modelo_de_coche',''); connect('off'); //llamo a una funcion que me desconecta de la BDD ?>
|
|
« Última modificación: 18 Mayo 2005, 18:44 pm por Zagalet »
|
En línea
|
|
|
|
|
|