Rumah >pembangunan bahagian belakang >masalah PHP >10 coretan kod PHP yang sangat berguna (koleksi disyorkan)

10 coretan kod PHP yang sangat berguna (koleksi disyorkan)

醉折花枝作酒筹
醉折花枝作酒筹ke hadapan
2021-07-20 17:55:442722semak imbas

Artikel ini terutamanya memperkenalkan 10 coretan kod PHP yang sangat berguna yang patut dikumpulkan Artikel ini menerangkan penapisan senarai hitam, penjana warna rawak, memuat turun fail dari rangkaian, memuat turun fail secara paksa, memaparkan avatar Gravatar pengguna melalui E-mel, dsb., anda perlukan. Kawan boleh rujuk.

10 coretan kod PHP yang sangat berguna (koleksi disyorkan)

Walaupun PHP sering dikritik, diperkecilkan, dan dianggap sebagai jenaka, ternyata PHP adalah bahasa pengaturcaraan yang paling banyak digunakan dalam pembangunan laman web di dunia. Kelemahan terbesar PHP ialah ia terlalu mudah, sintaksnya tidak ketat, dan sistem rangka kerjanya sangat lemah, tetapi ini juga merupakan kelebihan terbesarnya Orang biasa yang mempunyai sedikit latar belakang pengaturcaraan boleh mula membangunkan aplikasi web dalam masa yang singkat setengah hari belajar PHP.

Seseorang di Internet meringkaskan ciri beberapa bahasa pengaturcaraan, yang saya fikir masuk akal:

PHP 就是: Quick and Dirty

Java 就是: Beauty and Slowly

Ruby 就是: Quick and Beauty

python 就是: Quick and Simple

Dengan populariti PHP, banyak coretan kod PHP praktikal telah diringkaskan di Internet . , coretan kod ini boleh digunakan dengan menampalnya apabila anda menghadapi masalah yang sama. Ia sangat cekap dan menjimatkan masa dan usaha. Meletakkan kod cemerlang yang diringkaskan oleh pengaturcara kanan ini ke dalam pangkalan pengetahuan anda sendiri adalah tabiat baik seorang pengaturcara yang pandai belajar.

1. Penapisan senarai hitam

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. Penjana warna rawak

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. Muat turun fail daripada Internet

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);

4. Alexa/Google Page Rank

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;);

5. Muat turun paksa fail

$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;
}

6. Paparkan avatar Gravatar pengguna melalui e-mel

$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;;

7. Dapatkan bilangan langganan RSS melalui cURL

$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);

8. Fungsi pengiraan perbezaan masa

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; ";
}

9 🎜> 10. Semak sama ada tapak web tidak berfungsi

$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);

Pembelajaran yang disyorkan: tutorial video php

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";

Atas ialah kandungan terperinci 10 coretan kod PHP yang sangat berguna (koleksi disyorkan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam