温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP中常用的代码片段有哪些

发布时间:2021-07-27 11:36:35 阅读:149 作者:小新 栏目:编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章给大家分享的是有关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($handlefilesize($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[0as $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 'F'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.'.'.$extif(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('~<p class="data (down|up)"><img.+?>(.+?) </p>~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 '<img src="' . $gravatar_link . '" />';

七、通过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_im255255255);
imagefill($dst_im00$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<300return true;
       else return false;
}
if (Visit("http://www.google.com"))
       echo "Website OK"."n";
else
       echo "Website DOWN";

感谢各位的阅读!关于“PHP中常用的代码片段有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×