Algunas funciones PHP de uso frecuente
Autor:Eve Cole
Fecha de actualización:2009-06-05 16:25:00
En el desarrollo de PHP, a menudo encontramos algunas funciones. Las siguientes están organizadas y se pueden usar directamente para facilitar la eficiencia del desarrollo. Sin embargo, se recomienda que las comprenda primero y luego agregue funciones sobre esta base para mejorar sus propias capacidades.
1. Generar función de cadena aleatoria
función aleatoria($longitud) {
$hash = @#@#;
$caracteres = @#abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz@#;
$max = strlen($caracteres) - 1;
mt_srand((doble)microtime() * 1000000);
para($i = 0; $i < $longitud; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
devolver $hash;
}
2. Interceptar una cadena de cierta longitud Nota: Esta función es válida para gb2312
función palabras cortadas($cadena, $longitud,$sss=0) {
if(strlen($cadena) > $longitud) {
si($sss){
$longitud=$longitud - 3;
$addstr=@# ...@#;
}
para($i = 0; $i < $longitud; $i++) {
si(ord($cadena[$i]) > 127) {
$wordscut .= $cadena[$i].$cadena[$i + 1];
$yo++;
} demás {
$wordscut .= $cadena[$i];
}
}
devolver $wordscut.$addstr;
}
devolver $cadena;
}
3. Obtenga la dirección IP del cliente.
función getip(){
if (getenv("http_client_ip") && strcasecmp(getenv("http_client_ip"), "desconocido"))
$ip = getenv("http_client_ip");
else if (getenv("http_x_forwarded_for") && strcasecmp(getenv("http_x_forwarded_for"), "desconocido"))
$ip = getenv("http_x_forwarded_for");
else if (getenv("remote_addr") && strcasecmp(getenv("remote_addr"), "desconocido"))
$ip = getenv("remote_addr");
else if (isset($_server[@#remote_addr@#]) && $_server[@#remote_addr@#] && strcasecmp($_server[@#remote_addr@#], "desconocido"))
$ip = $_servidor[@#remote_addr@#];
demás
$ip = "desconocido";
retorno($ip);
}
4.Crea las carpetas correspondientes.
función creadair($dir=@#@#)
{
si (!is_dir($dir))
{
$temp = explotar(@#/@#,$dir);
$cur_dir = @#@#;
para($i=0;$i<count($temp);$i++)
{
$cur_dir .= $temp[$i].@#/@#;
si (!is_dir($cur_dir))
{
@mkdir($cur_dir,0777);
}
}
}
}
5. Determine la dirección de correo electrónico
función checkemail($inadirección)
{
return (ereg("^([a-za-z0-9_-])+@([a-za-z0-9_-])+(.[a-za-z0-9_-])+", $dirección));
}
6.saltar
función gotourl( $mensaje=@#@#,$url=@#@#,$título =@#@#)
{
$html="<html><cabeza>";
si(!vacío($url))
$html .="< metahttp-equiv=@#refresh @# content="3;url=@#".$url."@#">";
$html .="< linkhref=@#../templates/style.css @# type=text/css rel=stylesheet>";
$html .="</cabeza><cuerpo><br><br><br><br>";
$html .="< tablecellspace=@#0@#cellpadding=@#0@#border=@#1@#width=@#450@#align=@#center @#>";
$html .="<tr>< tdbgcolor=@##ffffff @#>";
$html .="< tableborder=@#1@#cellspacing=@#1@#cellpadding=@#4@#width=@#100% @#>";
$html .="< trclass=@#m_title @#>";
$html .="<td>".$título."</td></tr>";
$html .="< trclass=@#line_1@#><tdalign=@#center@#height=@#60 @#>";
$html .="<br>".$mensaje."<br><br>";
si (!vacío($url))
$html .="El sistema regresará en 3 segundos<br>Si su navegador no puede regresar automáticamente, haga clic en [<a href=".$url." target=_self>aquí</a>] para ingresar";
demás
$html .="[ <a href=@##@#=@#history.go(-1 )@#> Regresar</a>]";
$html .="</td></tr></table></td></tr></table>";
$html .="</cuerpo></html>";
eco $html;
salida;
}
7. Paginación (dos funciones se utilizan juntas)
función getpage($sql,$page_size=20)
{
global $página,$páginatotal,$sumas //out param;
$página = $_get["página"];
//$cada página = $tamaño_página;
$pagesql = strstr($sql," de ");
$pagesql = "seleccione recuento (*) como identificadores".$pagesql;
$resultado = mysql_query($pagesql);
if($rs = mysql_fetch_array($resultado)) $sumas = $rs[0];
$páginatotal = techo($sumas/$tamaño_página);
if((!$página)||($página<1)) $página=1;
$startpos = ($página-1)*$tamaño_página;
$sql .=" límite $startpos,$page_size ";
devolver $sql;
}
función barra de presentación ($string="")
{
global $página,$páginatotal;
$out="Total<font ".$totalpage." color=@#red@#><b>".$totalpage."</b></font >páginas";
$númeroenlace =4;
$inicio = ($página-redondo($linknum/2))>0 ? ($página-redondo($linknum/2)): "1";
$fin = ($página+redondo($enlacenum/2))<$páginatotal? ($página+redondo($enlacenum/2)) : $páginatotal;
$preinicio=$inicio-1;
$siguiente=$fin+1;
si($página<>1)
$out .= "< ahref=@#?page=1&&".$string."@#title =Primera página>Primera página</a> ";
si($inicio>1)
$out.="< ahref=@#?page=".$prestart ."@# title=Página anterior>..<<</a> ";
para($t=$inicio;$t<=$fin;$t++)
{
$out .= ($page==$t) ? > " : "< a$thref=@#?page=$t&&".$cadena."@#>$t</a > ";
}
si($fin<$páginatotal)
$out.="< ahref=@#?page=".$nextend."&&".$string ."@# title=Página siguiente>>>..</a>";
si($página<>$páginatotal)
$out .= " < ahref=@#?page=".$totalpage."&&".$string ."@# title=lastpage>lastpage</a>";
devolver $salir;
}
8. Obtenga la identificación de los datos recién insertados.
<?
mysql_insert_id();
?>
Este artículo proviene de: Script House ( www.jb51.net ) Referencia fuente detallada: http://www.jb51.net/article/16071.htm