>  기사  >  백엔드 개발  >  10가지 매우 유용한 PHP 코드 조각(추천 컬렉션)

10가지 매우 유용한 PHP 코드 조각(추천 컬렉션)

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-07-20 17:55:442623검색

이 기사에서는 수집할 가치가 있는 매우 유용한 10가지 PHP 코드 조각을 주로 소개합니다. 이 기사에서는 블랙리스트 필터링, 무작위 색상 생성기, 네트워크에서 파일 다운로드, 파일 강제 다운로드, 이메일을 통해 사용자의 Gravatar 아바타 표시 등에 대해 설명합니다. 그것을 참조하십시오.

10가지 매우 유용한 PHP 코드 조각(추천 컬렉션)

PHP는 종종 비판받고, 경시되고, 농담으로 취급되지만, PHP는 전 세계 웹사이트 개발에서 가장 많이 사용되는 프로그래밍 언어로 밝혀졌습니다. PHP의 가장 큰 단점은 너무 단순하고 구문이 엄격하지 않으며 프레임워크 시스템이 매우 약하다는 것입니다. 그러나 이것은 프로그래밍 배경이 약간 있는 일반 사람도 단번에 웹 애플리케이션 개발을 시작할 수 있다는 점입니다. 반나절 동안 PHP를 배웠습니다.

인터넷의 일부 사람들은 여러 프로그래밍 언어의 특징을 요약했는데, 제 생각에는 일리가 있다고 생각합니다.

PHP 就是: Quick and Dirty

Java 就是: Beauty and Slowly

Ruby 就是: Quick and Beauty

python 就是: Quick and Simple

PHP의 인기로 인해 인터넷에는 이러한 코드 조각을 사용할 수 있는 많은 실용적인 PHP 코드 조각이 요약되어 있습니다. 문제가 발생하면 그냥 붙여넣고 사용하면 됩니다. 매우 효율적이며 시간과 노력을 절약할 수 있습니다. 선배 프로그래머들이 정리한 우수한 코드를 자신의 지식베이스에 집어넣는 것은 학습을 잘하는 프로그래머의 좋은 습관이다.

1. 블랙리스트 필터링

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

2. 무작위 색상 생성기

function randomColor() { 
    $str = '#'; 
    for($i = 0 ; $i < 6 ; $i++) { 
        $randNum = rand(0 , 15); 
        switch ($randNum) { 
            case 10: $randNum = &#39;A&#39;; break; 
            case 11: $randNum = &#39;B&#39;; break; 
            case 12: $randNum = &#39;C&#39;; break; 
            case 13: $randNum = &#39;D&#39;; break; 
            case 14: $randNum = &#39;E&#39;; break; 
            case 15: $randNum = &#39;F&#39;; break; 
        } 
        $str .= $randNum; 
    } 
    return $str; 
} 
$color = randomColor();

3. Alexa/Google 페이지 순위

set_time_limit(0); 
// Supports all file types 
// URL Here: 
$url = &#39;http://somsite.com/some_video.flv&#39;; 
$pi = pathinfo($url); 
$ext = $pi[&#39;extension&#39;]; 
$name = $pi[&#39;filename&#39;];
// 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.&#39;.&#39;.$ext; 
if(preg_match("/[^0-9a-z._-]/i", $saveFile)) 
    $saveFile = md5(microtime(true)).&#39;.&#39;.$ext;
$handle = fopen($saveFile, &#39;wb&#39;); 
fwrite($handle, $opt); 
fclose($handle);

5. d 다운로드 파일

function page_rank($page, $type = &#39;alexa&#39;){ 
    switch($type){ 
        case &#39;alexa&#39;: 
            $url = &#39;http://alexa.com/siteinfo/&#39;; 
            $handle = fopen($url.$page, &#39;r&#39;); 
        break; 
        case &#39;google&#39;: 
            $url = &#39;http://google.com/search?client=navclient-auto&ch=6-1484155081&features=Rank&q=info:&#39;; 
            $handle = fopen($url.&#39;http://&#39;.$page, &#39;r&#39;); 
        break; 
    } 
    $content = stream_get_contents($handle); 
    fclose($handle); 
    $content = preg_replace("~(n|t|ss+)~",&#39;&#39;, $content); 
    switch($type){ 
        case &#39;alexa&#39;: 
            if(preg_match(&#39;~<p class="data (down|up)"><img.+?>(.+?) </p>~im&#39;,$content,$matches)){ 
                return $matches[2]; 
            }else{ 
                return FALSE; 
            } 
        break; 
        case &#39;google&#39;: 
            $rank = explode(&#39;:&#39;,$content); 
            if($rank[2] != &#39;&#39;) 
                return $rank[2]; 
            else 
                return FALSE; 
        break; 
        default: 
            return FALSE; 
        break; 
    } 
} 
// Alexa Page Rank: 
echo &#39;Alexa Rank: &#39;.page_rank(&#39;techug.com&#39;); 
echo &#39;
&#39;; 
// Google Page Rank 
echo &#39;Google Rank: &#39;.page_rank(&#39;techug.com&#39;, &#39;google&#39;);

6. 이메일을 통해 사용자의 Gravatar 아바타 표시

$filename = $_GET[&#39;file&#39;]; //Get the fileid from the URL
// Query the file ID
$query = sprintf("SELECT * FROM tableName WHERE id = &#39;%s&#39;",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[&#39;FileName&#39;]).";");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($row[&#39;FileName&#39;]));

    @readfile($row[&#39;FileName&#39;]);
    exit(0);
}else{
    header("Location: /");
    exit;
}

7. cURL을 통해 RSS 구독 수 가져오기

$gravatar_link = &#39;http://www.gravatar.com/avatar/&#39; . md5($comment_author_email) . &#39;?s=32&#39;;
  echo &#39;<img src="&#39; . $gravatar_link . &#39;" />&#39;;

8. 시차 계산 기능

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,&#39;https://feedburner.google.com/api/awareness/1.0/GetFeedData?id=7qkrmib4r9rscbplq5qgadiiq4&#39;);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
$content = curl_exec($ch);
$subscribers = get_match(&#39;/circulation="(.*)"/isU&#39;,$content);
curl_close($ch);

9 . 사진 자르기

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] &#39;ago&#39; ";
}

10. 웹사이트가 다운되었는지 확인하세요

$filename= "test.jpg";
list($w, $h, $type, $attr) = getimagesize($filename);
$src_im = imagecreatefromjpeg($filename);
$src_x = &#39;0&#39;;   // begin x
$src_y = &#39;0&#39;;   // begin y
$src_w = &#39;100&#39;; // width
$src_h = &#39;100&#39;; // height
$dst_x = &#39;0&#39;;   // destination x
$dst_y = &#39;0&#39;;   // 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);

추천 학습: php 비디오 튜토리얼

위 내용은 10가지 매우 유용한 PHP 코드 조각(추천 컬렉션)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제