仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1313|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:PHP开辟网站经常使用的21种功效的代码汇总

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:43:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
现在,也有了从事软件工程的想法,在经过了一个月的PHP培训学习之后,发现其实软件工程并没有想像中的那么难。   </p> PHP 是今朝利用最普遍的基于 Web 的编程言语,驱动着数以百万计的网站,个中也包含如 Facebook 等一些大型站点。这里搜集了 21 段适用便捷的 PHP 代码摘录,对每品种型的 PHP 开辟者城市有所匡助。
1. 可浏览随机字符串
此代码将创立一个可浏览的字符串,使其更接近辞书中的单词,适用且具有暗码验证功效。
/**************
*@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. 生成一个随机字符串
假如不需求可浏览的字符串,利用此函数替换,便可创立一个随机字符串,作为用户的随秘密码等。
/*************
*@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. 编码电子邮件地址
利用此代码,可以将任何电子邮件地址编码为 HTML 字符实体,以避免被渣滓邮件法式搜集。
function encode_email($email='info@domain.com', $linkText='Contact Us', $attrs ='class="emailencoder"' )
{
    // remplazar aroba y puntos
    $email = str_replace('@', '&#64;', $email);
    $email = str_replace('.', '&#46;', $email);
    $email = str_split($email, 5);  
    $linkText = str_replace('@', '&#64;', $linkText);
    $linkText = str_replace('.', '&#46;', $linkText);
    $linkText = str_split($linkText, 5);  
    $part1 = '<a href="ma';
    $part2 = 'ilto&#58;';
    $part3 = '" '. $attrs .' >';
    $part4 = '</a>';  
    $encoded = '<script type="text/javascript">';
    $encoded .= "document.write('$part1');";
    $encoded .= "document.write('$part2');";
    foreach($email as $e)
    {
            $encoded .= "document.write('$e');";
    }
    $encoded .= "document.write('$part3');";
    foreach($linkText as $l)
    {
            $encoded .= "document.write('$l');";
    }
    $encoded .= "document.write('$part4');";
    $encoded .= '</script>';  
     return $encoded;
}
4. 验证邮件地址
电子邮件验证或许是中最经常使用的网页表单验证,此代码除验证电子邮件地址,也能够选择反省邮件域所属 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. 列出目次内容
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);
        }
    }
}
6. 烧毁目次
删除一个目次,包含它的内容。
/*****
*@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 == '.' $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;
    }
}
7. 解析 JSON 数据
与大多半盛行的 Web 办事如 Twitter 经由过程开放 API 来供应数据一样,它老是可以晓得若何解析 API 数据的各类传送格局,包含 JSON,XML 等等。
$json_string='{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ';
$obj=json_decode($json_string);
echo $obj->name; //prints foo
echo $obj->interest[1]; //prints php
<p>应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^
第二个灵魂 该用户已被删除
沙发
发表于 2015-2-4 06:15:57 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
活着的死人 该用户已被删除
板凳
发表于 2015-2-6 20:34:19 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
乐观 该用户已被删除
地板
发表于 2015-2-11 02:58:02 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
再见西城 该用户已被删除
5#
发表于 2015-2-24 19:55:37 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
爱飞 该用户已被删除
6#
发表于 2015-3-6 21:40:42 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-13 09:08:32 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
分手快乐 该用户已被删除
8#
发表于 2015-3-20 17:43:47 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
兰色精灵 该用户已被删除
9#
发表于 2015-3-25 02:36:07 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
再现理想 该用户已被删除
10#
发表于 2015-4-4 08:07:46 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
金色的骷髅 该用户已被删除
11#
发表于 2015-4-9 09:42:40 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
柔情似水 该用户已被删除
12#
发表于 2015-4-14 14:55:29 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
变相怪杰 该用户已被删除
13#
 楼主| 发表于 2015-4-15 11:26:08 | 只看该作者
做为1门年轻的语言,php一直很努力。
14#
发表于 2015-4-18 00:20:21 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
若天明 该用户已被删除
15#
发表于 2015-4-19 12:50:39 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
小女巫 该用户已被删除
16#
发表于 2015-4-26 10:10:43 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
精灵巫婆 该用户已被删除
17#
发表于 2015-6-15 20:50:46 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
灵魂腐蚀 该用户已被删除
18#
发表于 2015-6-26 21:29:43 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
飘灵儿 该用户已被删除
19#
发表于 2015-7-8 08:17:36 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
山那边是海 该用户已被删除
20#
发表于 2015-7-11 18:52:57 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 06:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表