美文网首页
10个超级有用、必须收藏的PHP代码样例_2

10个超级有用、必须收藏的PHP代码样例_2

作者: 浦脊rdwa | 来源:发表于2017-10-17 15:13 被阅读0次

    背景:


    阅读新闻

    10个超级有用、必须收藏的PHP代码样例

    [日期:2014-12-28]

    来源:程序师

    作者:Linux

    [字体:大 中 小]

    作为一个正常的程序员,会好几种语言是十分正常的,相信大部分程序员也都会编写几句PHP程序,如果是WEB程序员,PHP一定是必备的,即使你没用它开发过大型软件项目,也一定多少了解它的语法。

    10个超级有用、必须收藏的PHP代码样例

    尽管PHP经常被人诟病,被人贬低,被人当玩笑开,事实证明,PHP是全世界网站开发中使用率最高的编程语言。PHP最大的缺点是太简单,语法不严谨,框架体系很弱,但这也是它最大的优点,一个有点编程背景的普通人,只需要学习PHP半天时间,就可以上手开始开发web应用了。

    网上有人总结几种编程语言的特点,我觉得也挺有道理的:

    PHP 就是: Quick and Dirty

    Java 就是: Beauty and Slowly

    Ruby 就是: Quick and Beauty

    python 就是: Quick and Simple

    在PHP的流行普及中,网上总结出了很多实用的PHP代码片段,这些代码片段在当你遇到类似的问题时,粘贴过去就可以使用,非常的高效,非常的省时省力。将这些程序员前辈总结出的优秀代码放到自己的知识库中,是一个善于学习的程序员的好习惯。

    一、黑名单过滤

    function is_spam($text, $file, $split = ':', $regex = false){

    $handle = fopen($file, 'rb');

    $contents = fread($handle, filesize($file));

    fclose($handle);

    $lines = explode("n", $contents);

    $arr = array();

    foreach($lines as $line){

    list($word, $count) = explode($split, $line);

    if($regex)

    $arr[$word] = $count;

    else

    $arr[preg_quote($word)] = $count;

    }

    preg_match_all("~".implode('|', array_keys($arr))."~", $text, $matches);

    $temp = array();

    foreach($matches[0] as $match){

    if(!in_array($match, $temp)){

    $temp[$match] = $temp[$match] + 1;

    if($temp[$match] >= $arr[$word])

    return true;

    }

    }

    return false;

    }

    $file = 'spam.txt';

    $str = 'This string has cat, dog word';

    if(is_spam($str, $file))

    echo 'this is spam';

    else

    echo 'this is not spam';

    ab:3

    dog:3

    cat:2

    monkey:2

    二、随机颜色生成器

    function randomColor() {

    $str = '#';

    for($i = 0 ; $i < 6 ; $i++) {

    $randNum = rand(0 , 15);

    switch ($randNum) {

    case 10: $randNum = 'A'; break;

    case 11: $randNum = 'B'; break;

    case 12: $randNum = 'C'; break;

    case 13: $randNum = 'D'; break;

    case 14: $randNum = 'E'; break;

    case 15: $randNum = '九度快排系统 https://www.190seo.comF'; break;

    }

    $str .= $randNum;

    }

    return $str;

    }

    $color = randomColor();

    三、从网络下载文件

    set_time_limit(0);

    // Supports all file types

    // URL Here:

    $url = 'http://somsite.com/some_video.flv';

    $pi = pathinfo($url);

    $ext = $pi['extension'];

    $name = $pi['filename'];

    // create a new cURL resource

    $ch = curl_init();

    // set URL and other appropriate options

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_HEADER, false);

    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);

    curl_setopt($ch, CURLOPT_AUTOREFERER, true);

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // grab URL and pass it to the browser

    $opt = curl_exec($ch);

    // close cURL resource, and free up system resources

    curl_close($ch);

    $saveFile = $name.'.'.$ext;

    if(preg_match("/[^0-9a-z._-]/i", $saveFile))

    $saveFile = md5(microtime(true)).'.'.$ext;

    $handle = fopen($saveFile, 'wb');

    fwrite($handle, $opt);

    fclose($handle);

    四、Alexa/Google Page Rank

    function page_rank($page, $type = 'alexa'){

    switch($type){

    case 'alexa':

    $url = 'http://alexa.com/siteinfo/';

    $handle = fopen($url.$page, 'r');

    break;

    case 'google':

    $url = 'http://google.com/search?client=navclient-auto&ch=6-1484155081&features=Rank&q=info:';

    $handle = fopen($url.'http://'.$page, 'r');

    break;

    }

    $content = stream_get_contents($handle);

    fclose($handle);

    $content = preg_replace("~(n|t|ss+)~",'', $content);

    switch($type){

    case 'alexa':

    if(preg_match('~

    (.+?) ~im',$content,$matches)){

    return $matches[2];

    }else{

    return FALSE;

    }

    break;

    case 'google':

    $rank = explode(':',$content);

    if($rank[2] != '')

    return $rank[2];

    else

    return FALSE;

    break;

    default:

    return FALSE;

    break;

    }

    }

    // Alexa Page Rank:

    echo 'Alexa Rank: '.page_rank('techug.com');

    echo '

    ';

    // Google Page Rank

    echo 'Google Rank: '.page_rank('techug.com', 'google');

    五、强制下载文件

    $filename = $_GET['file']; //Get the fileid from the URL

    // Query the file ID

    $query = sprintf("SELECT * FROM tableName WHERE id='%s'",mysql_real_escape_string($filename));

    $sql = mysql_query($query);

    if(mysql_num_rows($sql) > 0){

    $row = mysql_fetch_array($sql);

    // Set some headers

    header("Pragma: public");

    header("Expires: 0");

    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

    header("Content-Type: application/force-download");

    header("Content-Type: application/octet-stream");

    header("Content-Type: application/download");

    header("Content-Disposition: attachment; filename=".basename($row['FileName']).";");

    header("Content-Transfer-Encoding: binary");

    header("Content-Length: ".filesize($row['FileName']));

    @readfile($row['FileName']);

    exit(0);

    }else{

    header("Location: /");

    exit;

    }

    六、通过Email显示用户的Gravatar头像

    $gravatar_link = 'http://www.gravatar.com/avatar/' . md5($comment_author_email) . '?s=32';

    echo '';

    七、通过cURL获取RSS订阅数

    $ch = curl_init();

    curl_setopt($ch,CURLOPT_URL,'https://feedburner.google.com/api/awareness/1.0/GetFeedData?id=7qkrmib4r9rscbplq5qgadiiq4');

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);

    $content = curl_exec($ch);

    $subscribers = get_match('/circulation="(.*)"/isU',$content);

    curl_close($ch);

    八、时间差异计算函数

    function ago($time)

    {

    $periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");

    $lengths = array("60","60","24","7","4.35","12","10");

    $now = time();

    $difference = $now - $time;

    $tense = "ago";

    for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {

    $difference /= $lengths[$j];

    }

    $difference = round($difference);

    if($difference != 1) {

    $periods[$j].= "s";

    }

    return "$difference $periods[$j] 'ago' ";

    }

    九、裁剪图片

    $filename= "test.jpg";

    list($w, $h, $type, $attr) = getimagesize($filename);

    $src_im = imagecreatefromjpeg($filename);

    $src_x = '0'; // begin x

    $src_y = '0'; // begin y

    $src_w = '100'; // width

    $src_h = '100'; // height

    $dst_x = '0'; // destination x

    $dst_y = '0'; // destination y

    $dst_im = imagecreatetruecolor($src_w, $src_h);

    $white = imagecolorallocate($dst_im, 255, 255, 255);

    imagefill($dst_im, 0, 0, $white);

    imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);

    header("Content-type: image/png");

    imagepng($dst_im);

    imagedestroy($dst_im);

    十、检查网站是否宕机

    function Visit($url){

    $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();

    curl_setopt ($ch, CURLOPT_URL,$url );

    curl_setopt($ch, CURLOPT_USERAGENT, $agent);

    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt ($ch,CURLOPT_VERBOSE,false);

    curl_setopt($ch, CURLOPT_TIMEOUT, 5);

    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);

    curl_setopt($ch,CURLOPT_SSLVERSION,3);

    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);

    $page=curl_exec($ch);

    //echo curl_error($ch);

    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    curl_close($ch);

    if($httpcode>=200 && $httpcode<300) return true;

    else return false;

    }

    if (Visit("http://www.google.com"))

    echo "Website OK"."n";

    else

    echo "Website DOWN";

    CentOS 6.3 安装LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm

    在部署LNMP的时候遇到Nginx启动失败的2个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm

    Ubuntu安装Nginx php5-fpm MySQL(LNMP环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm

    《细说PHP》高清扫描PDF+光盘源码+全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm

    PHP 的详细介绍:请点这里

    PHP 的下载地址:请点这里

    本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-12/110932.htm

    linux

    Android调用系统摄像头拍照并剪裁压缩

    Python学习要点和陷阱

    相关资讯

    PHP代码样例 PHP代码

    本文评论

    查看全部评论 (0)

    表情: 表情

    姓名:

    匿名

    字数

    同意评论声明

    评论声明

    尊重网上道德,遵守中华人民共和国的各项有关法律法规

    承担一切因您的行为而直接或间接导致的民事或刑事法律责任

    本站管理人员有权保留或删除其管辖留言中的任意内容

    本站有权在网站内转载或引用您的评论

    参与本评论即表明您已经阅读并接受上述条款

    最新资讯

    CentOS 6.4下双网卡bond配置

    CentOS6.x双网卡采用主-备份策略绑定(bond

    ORA-30036故障解决方法案例

    ORA-03114: 未连接到 ORALCE 解决方法案例

    Oracle RAC系统内存无法释放解决

    Oracle Goldengate在HP平台裸设备文件系统

    OGG升级运行ggsic报Unable to find library

    Linux vi命令大全

    VMware虚拟机主机模式下与主机互ping通

    Linux内核中container_of函数详解

    相关文章

      网友评论

          本文标题:10个超级有用、必须收藏的PHP代码样例_2

          本文链接:https://www.haomeiwen.com/subject/kqyduxtx.html