热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP中一些常用操作类代码解析

PHP中含有多种不同类型代码,本文对操作类代码进行分类规划,总结出操作类代码常用的功能,供大家参考。

PHP中一些常用操作类代码示例一

1. PHP可阅读随机字符串

此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具

/**@length - length of random string (must be a multiple of 2)**/
  function readable_random_string($length = 6){
      $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()*1000000);
      $max = $length/2;
      for($i=1;$i<=$max; $i++){
          $password.=$conso[rand(0,19)];
          $password.=$vocal[rand(0,4)];
      }
      return $password;
  }

 有密码验证功能。

2. PHP生成一个随机字符串

如果不需要可阅读的字符串,使用此函数替代,即可创建一个随机字符串,作为用户的随机密码等。

/************* *@l - length of random string */ 
function generate_rand($l){ 
    $c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; 
    srand((double)microtime()*1000000); 
    for($i=0; $i<$l; $i++) { 
        $rand.= 
    $c[rand()%strlen($c)]; 
    }
    return $rand; 
}

3. PHP编码电子邮件地址

使用此代码,可以将任何电子邮件地址编码为 html 字符实体,以防止被垃圾邮件程序收集。

function encode_email($email=&#39;info@domain.com&#39;, $linkText=&#39;Contact Us&#39;,$attrs =&#39;class="emailencoder"&#39; ) { 
    // remplazar aroba y puntos $email = 
str_replace(&#39;@&#39;, &#39;@&#39;, $email); 
    $email = str_replace(&#39;.&#39;, &#39;.&#39;, $email); 
    $email = 
str_split($email, 5); 
    $linkText = str_replace(&#39;@&#39;, &#39;@&#39;, $linkText); 
    $linkText = 
str_replace(&#39;.&#39;, &#39;.&#39;, $linkText); 
    $linkText = str_split($linkText, 5); 
    $part1 = &#39;part2 = &#39;ilto:&#39;; 
    $part3 = &#39;" &#39;. $attrs .&#39; >&#39;; 
    $part4 = &#39;&#39;; $encoded = &#39;&#39;; 
$encoded .= "document.write(&#39;$part1&#39;);"; 
    $encoded .= "document.write(&#39;$part2&#39;);"; 
    foreach($email as $e) { 
        $encoded .= "document.write(&#39;$e&#39;);"; 
    } 
    $encoded .= "document.write(&#39;$part3&#39;);"; 
foreach($linkText as $l) { 
        $encoded .= "document.write(&#39;$l&#39;);"; 
    } 
    $encoded .= "document.write(&#39;$part4&#39;);"; 
    $encoded .= &#39;&#39;; 
    return $encoded;
}

4. PHP验证邮件地址

电子邮件验证也许是中最常用的网页表单验证,此代码除了验证电子邮件地址,也可以选择检查邮件域所属 DNS 中的 MX 记录,使邮件验证功能更加强大。

function is_valid_email($email, $test_mx = false) { 
if(eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) 
    if($test_mx) { 
        list($username, $domain) = split("@", $email); 
        return getmxrr($domain, $mxrecords); 
    } else {
        return true; 
    }
     
}  else {
    return false; 
}

5. 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 &#39;&#39;.$file.&#39;a>  &#39;."\n"; 
                 } 
            } closedir($handle); 
        } 
   } 
}

6. 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, -1) == $ds ? substr($dir, 0, -1) : $dir; 
    if (is_dir($dir) && $handle = opendir($dir)) { 
        while ($file = readdir($handle)) { 
            if ($file == &#39;.&#39; || $file == &#39;..&#39;) { 
                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; 
    } 
}

7. PHP解析 JSON 数据

与大多数流行的 Web 服务如 twitter 通过开放 API 来提供数据一样,它总是能够知道如何解析 API 数据的各种传送格式,包括 JSON,XML 等等。

$json_string=&#39;{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} &#39;; 
$obj=json_decode($json_string); 
echo $obj->name; //prints foo echo 
$obj->interest[1]; //prints php

8. PHP解析 XML 数据

//xml string $xml_string="xml version=&#39;1.0&#39;?> Fooname> foo@bar.comname> user> Foobarname> foobar@foo.comname> 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[&#39;id&#39;], &#39; &#39;; 
     
    //subnodes are accessed by -> operator 
    echo $user->name, &#39; &#39;; 
    echo $user->email,&#39;&#39;; 
}

9. PHP创建日志缩略名

创建用户友好的日志缩略名。

function create_slug($string){ 
    $slug=preg_replace(&#39;/[^A-Za-z0-9-]+/&#39;, &#39;-&#39;, $string); 
   return $slug; 
}

推荐教程:《PHP视频教程》

以上就是PHP中一些常用操作类代码解析的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。使用Gson解析json成对象时,默认将json里对应字段的值解析到java对象里对应字段的属性里面。然而,当我们自己定义的java对象里的属性名与json里的字段名不一样时,我们可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。本文介绍了使用@SerializedName注解解析json数据的方法,并给出了具体的使用示例。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议 ... [详细]
author-avatar
海边拾贝壳女孩_182
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有