知识大全 20个实用PHP实例代码
Posted 函数
篇首语:努力尽今夕,少年犹可夸。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 20个实用PHP实例代码相关的知识,希望对你有一定的参考价值。
20个实用PHP实例代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
PHP可阅读随机字符串 此代码将创建一个可阅读的字符串 使其更接近词典中的单词 实用且具有密码验证功能 /************** *@length length of random string (must be a multiple of ) **************/ function readable_random_string($length = ) $conso=array("b" "c" "d" "f" "g" "h" "j" "k" "l" "m" "n" "p" "r" "s" "t" "v" "w" "x" "y" "z"); $vocal=array("a" "e" "i" "o" "u"); $password=""; srand ((double)microtime()* ); $max = $length/ ; for($i= ; $i<=$max; $i++) $password =$conso[rand( )]; $password =$vocal[rand( )]; return $password; PHP生成一个随机字符串 如果不需要可阅读的字符串 使用此函数替代 即可创建一个随机字符串 作为用户的随机密码等 /************* *@l length of random string */ function generate_rand($l) $c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "; srand((double)microtime()* ); for($i= ; $i<$l; $i++) $rand = $c[rand()%strlen($c)]; return $rand; PHP编码电子邮件地址 使用此代码 可以将任何电子邮件地址编码为 字符实体 以防止被垃圾邮件程序收集 function encode_email($email=’info@domain ’ $linkText=’Contact Us’ $attrs =’’ ) // remplazar aroba y puntos $email = str_replace(’@’ ’&# ;’ $email); $email = str_replace(’ ’ ’&# ;’ $email); $email = str_split($email ); $linkText = str_replace(’@’ ’&# ;’ $linkText); $linkText = str_replace(’ ’ ’&# ;’ $linkText); $linkText = str_split($linkText ); $part = ’<a href="ma’; $part = ’ilto&# ;’; $part = ’" ’ $attrs ’ >’; $part = ’</a>’; $encoded = ’<script type="text/javascript">’; $encoded = "document write(’$part ’);"; $encoded = "document write(’$part ’);"; foreach($email as $e) $encoded = "document write(’$e’);"; $encoded = "document write(’$part ’);"; foreach($linkText as $l) $encoded = "document write(’$l’);"; $encoded = "document write(’$part ’);"; $encoded = ’</script>’; return $encoded; PHP验证邮件地址 电子邮件验证也许是中最常用的网页表单验证 此代码除了验证电子邮件地址 也可以选择检查邮件域所属 DNS 中的 MX 记录 使邮件验证功能更加强大 function is_valid_email($email $test_mx = false) if(eregi("^([_a z ]+)( [_a z ]+)*@([a z ]+)( [a z ]+)*( [a z] )$" $email)) if($test_mx) list($username $domain) = split("@" $email); return getmxrr($domain $mxrecords); else return true; else return false; PHP列出目录内容 function list_files($dir) if(is_dir($dir)) if($handle = opendir($dir)) while(($file = readdir($handle)) !== false) if($file != " " && $file != " " && $file != "Thumbs db") echo ’<a target="_blank" href="’ $dir $file ’">’ $file ’</a><br>’ "n"; closedir($handle); PHP销毁目录 删除一个目录 包括它的内容 /***** *@dir Directory to destroy *@virtual[optional] whether a virtual directory */ function destroyDir($dir $virtual = false) $ds = DIRECTORY_SEPARATOR; $dir = $virtual ? realpath($dir) : $dir; $dir = substr($dir ) == $ds ? substr($dir ) : $dir; if (is_dir($dir) && $handle = opendir($dir)) while ($file = readdir($handle)) if ($file == ’ ’ || $file == ’ ’) continue; elseif (is_dir($dir $ds $file)) destroyDir($dir $ds $file); else unlink($dir $ds $file); closedir($handle); rmdir($dir); return true; else return false; PHP解析 JSON 数据 与大多数流行的 Web 服务如 itter 通过开放 API 来提供数据一样 它总是能够知道如何解析 API 数据的各种传送格式 包括 JSON XML 等等 $json_string=’"id": "name":"foo" "email":"foo@foobar " "interest":["wordpress" "php"] ’; $obj=json_decode($json_string); echo $obj >name; //prints foo echo $obj >interest[ ]; //prints php PHP解析 XML 数据 //xml string $xml_string="<?xml version=’ ’?> <users> <user id=’ ’> <name>Foo</name> <email>foo@bar </name> </user> <user id=’ ’> <name>Foobar</name> <email>foobar@foo </name> </user> </users>"; //load the xml string using simplexml $xml = simplexml_load_string($xml_string); //loop through the each node of user foreach ($xml >user as $user) //access attribute echo $user[’id’] ’ ’; //subnodes are accessed by > operator echo $user >name ’ ’; echo $user >email ’<br />’; PHP创建日志缩略名 创建用户友好的日志缩略名 function create_slug($string) $slug=preg_replace(’/[^A Za z ]+/’ ’ ’ $string); return $slug; PHP获取客户端真实 IP 地址 该函数将获取用户的真实 IP 地址 即便他使用代理服务器 function getRealIpAddr() if (!emptyempty($_SERVER[’HTTP_CLIENT_IP’])) $ip=$_SERVER[’HTTP_CLIENT_IP’]; elseif (!emptyempty($_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; PHP强制性文件下载 为用户提供强制性的文件下载功能 /******************** *@file path to file */ function force_download($file) if ((isset($file))&&(file_exists($file))) header("Content length: " filesize($file)); header(’Content Type: application/octet stream’); header(’Content Disposition: attachment; filename="’ $file ’"’); readfile("$file"); else echo "No file selected";
PHP创建标签云 function getCloud( $data = array() $minFontSize = $maxFontSize = ) $minimumCount = min( array_values( $data ) ); $maximumCount = max( array_values( $data ) ); $spread = $maximumCount $minimumCount; $cloudHTML = ’’; $cloudTags = array(); $spread == && $spread = ; foreach( $data as $tag => $count ) $size = $minFontSize + ( $count $minimumCount ) * ( $maxFontSize $minFontSize ) / $spread; $cloudTags[] = ’<a href="#" title="’’ $tag ’’ returned a count of ’ $count ’">’ specialchars( stripslashes( $tag ) ) ’</a>’; return join( "n" $cloudTags ) "n"; /************************** **** Sample usage ***/ $arr = Array(’Actionscript’ => ’Adobe’ => ’Array’ => ’Background’ => ’Blur’ => ’Canvas’ => ’Class’ => ’Color Palette’ => ’Crop’ => ’Delimiter’ => ’Depth’ => ’Design’ => ’Encode’ => ’Encryption’ => ’Extract’ => ’Filters’ => ); echo getCloud($arr ); PHP寻找两个字符串的相似性 PHP 提供了一个极少使用的 similar_text 函数 但此函数非常有用 用于比较两个字符串并返回相似程度的百分比 similar_text($string $string $percent); //$percent will have the percentage of similarity PHP在应用程序中使用 Gravatar 通用头像 随着 WordPress 越来越普及 Gravatar 也随之流行 由于 Gravatar 提供了易于使用的 API 将其纳入应用程序也变得十分方便 /****************** *@email Email address to show gravatar for *@size size of gravatar *@default URL of default gravatar to use *@rating rating of Gravatar(G PG R X) */ function show_gravatar($email $size $default $rating) echo ’<img src="($email) ’&default=’ $default ’&size=’ $size ’&rating=’ $rating ’" height=’ $size ’px />’; PHP在字符断点处截断文字 所谓断字 (word break) 即一个单词可在转行时断开的地方 这一函数将在断字处截断字符串 // Original PHP code by Chirp Internet: chirp au // Please acknowledge use of this code by including this header function myTruncate($string $limit $break=" " $pad=" ") // return with no change if string is shorter than $limit if(strlen($string) <= $limit) return $string; // is $break present beeen $limit and the end of the string? if(false !== ($breakpoint = strpos($string $break $limit))) if($breakpoint < strlen($string) ) $string = substr($string $breakpoint) $pad; return $string; /***** Example ****/ $short_string=myTruncate($long_string ’ ’); PHP文件 Zip 压缩 /* creates a pressed zip file */ function create_zip($files = array() $destination = ’’ $overwrite = false) //if the zip file already exists and overwrite is false return false if(file_exists($destination) && !$overwrite) return false; //vars $valid_files = array(); //if files were passed in if(is_array($files)) //cycle through each file foreach($files as $file) //make sure the file exists if(file_exists($file)) $valid_files[] = $file; //if we have good files if(count($valid_files)) //create the archive $zip = new ZipArchive(); if($zip >open($destination $overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) return false; //add the files foreach($valid_files as $file) $zip >addFile($file $file); //debug //echo ’The zip archive contains ’ $zip >numFiles ’ files with a status of ’ $zip >status; //close the zip done! $zip >close(); //check to make sure the file exists return file_exists($destination); else return false; /***** Example Usage ***/ $files=array(’file jpg’ ’file jpg’ ’file gif’); create_zip($files ’myzipfile zip’ true); PHP解压缩 Zip 文件 /********************** *@file path to zip file *@destination destination directory for unzipped files */ function unzip_file($file $destination) // create object $zip = new ZipArchive() ; // open archive if ($zip >open($file) !== TRUE) die (’Could not open archive’); // extract contents to destination directory $zip >extractTo($destination); // close archive $zip >close(); echo ’Archive extracted to directory’; PHP为 URL 地址预设 字符串 有时需要接受一些表单中的网址输入 但用户很少添加 // 字段 此代码将为网址添加该字段 if (!preg_match("/^(|ftp):/" $_POST[’url’])) $_POST[’url’] = ’//’ $_POST[’url’]; PHP将网址字符串转换成超级链接 该函数将 URL 和 E mail 地址字符串转换为可点击的超级链接 function makeClickableLinks($text) $text = eregi_replace(’(((f|ht) tp://)[ a zA Z @:%_+ ~#?&//=]+)’ ’<a href=" "> </a>’ $text); $text = eregi_replace(’([[:space:]()[])( [ a zA Z @:%_+ ~#?&//=]+)’ ’ <a href="// "> </a>’ $text); $text = eregi_replace(’([_ a z ]+@([ a z][ a z ]+ )+[a z] )’ ’<a href="mailto: "> </a>’ $text); return $text; PHP调整图像尺寸 创建图像缩略图需要许多时间 此代码将有助于了解缩略图的逻辑 /********************** *@filename path to the image *@tmpname temporary path to thumbnail *@xmax max width *@ymax max height */ function resize_image($filename $tmpname $xmax $ymax) $ext = explode(" " $filename); $ext = $ext[count($ext) ]; if($ext == "jpg" || $ext == "jpeg") $im = imagecreatefromjpeg($tmpname); elseif($ext == "png") $im = imagecreatefrompng($tmpname); elseif($ext == "gif") $im = imagecreatefromgif($tmpname); $x = imagesx($im); $y = imagesy($im); if($x <= $xmax && $y <= $ymax) return $im; if($x >= $y) $newx = $xmax; $newy = $newx * $y / $x; else $newy = $ymax; $newx = $x / $y * $newy; $im = imagecreatetruecolor($newx $newy); imagecopyresized($im $im floor($newx) floor($newy) $x $y); return $im ; PHP检测 ajax 请求 大多数的 JavaScript 框架如 jquery Mootools 等 在发出 Ajax 请求时 都会发送额外的 HTTP_X_REQUESTED_WITH 头部信息 头当他们一个ajax请求 因此你可以在服务器端侦测到 Ajax 请求 if(!emptyempty($_SERVER[’HTTP_X_REQUESTED_WITH’]) && strtolower($_SERVER[’HTTP_X_REQUESTED_WITH’]) == ’xmlrequest’) //If AJAX Request Then else //something else
cha138/Article/program/PHP/201311/21274相关参考
PHP采集代码实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Artic
PHPWeb开发学习实录:界定PHP代码实例描述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
PHPWeb开发学习实录:界定PHP代码实例应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
PHPWeb开发学习实录:界定PHP代码实例分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一个典型的PHP分页实例代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/
用PHP读取超大文件的实例代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138
cha138/Article/program/PHP/201311/21277
将index和uploadphp文件保存到支持php的空间的同级目录测试运行即可 AJAX客户端页面代码index <><body><h>Ajaxfileu
php代码复制代码代码如下:<?phpclassCaptcha_codevar$width=;var$num=;var$height=;var$name=randcode;publicfun
php技巧:几个比较实用的PHP函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! sys_ge