Maison > développement back-end > Problème PHP > 10 extraits de code PHP super utiles (collection recommandée)

10 extraits de code PHP super utiles (collection recommandée)

醉折花枝作酒筹
Libérer: 2023-03-11 17:50:01
avant
2651 Les gens l'ont consulté

Cet article présente principalement 10 extraits de code PHP super utiles qui valent la peine d'être collectés. Cet article explique le filtrage de liste noire, le générateur de couleurs aléatoires, le téléchargement de fichiers depuis le réseau, le téléchargement forcé de fichiers, l'affichage de l'avatar Gravatar de l'utilisateur par e-mail, etc. Amis dans le besoin Vous pouvez référez-vous à lui.

10 extraits de code PHP super utiles (collection recommandée)

Bien que PHP soit souvent critiqué, rabaissé et traité comme une blague, il s'avère que PHP est le langage de programmation le plus utilisé dans le développement de sites Web au monde. Le plus gros inconvénient de PHP est qu'il est trop simple, que la syntaxe n'est pas rigoureuse et que le système de framework est très faible, mais c'est aussi son plus grand avantage. Une personne ordinaire avec un peu d'expérience en programmation peut commencer à développer des applications Web en seulement quelques minutes. une demi-journée d'apprentissage de PHP.

Certaines personnes sur Internet ont résumé les caractéristiques de plusieurs langages de programmation, et je pense que cela a du sens :

PHP 就是: Quick and Dirty

Java 就是: Beauty and Slowly

Ruby 就是: Quick and Beauty

python 就是: Quick and Simple
Copier après la connexion

Avec la popularité de PHP, de nombreux extraits de code PHP pratiques ont été résumés sur Internet. Ces extraits de code peuvent être utilisés lorsque. vous rencontrez quelque chose comme Lorsque vous avez un problème, vous pouvez simplement le coller et l'utiliser. C'est très efficace et permet d'économiser du temps et des efforts. Mettre les excellents codes résumés par ces programmeurs seniors dans votre propre base de connaissances est une bonne habitude d'un programmeur doué en apprentissage.

1. Filtrage de liste noire

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
Copier après la connexion

2. Générateur de couleurs aléatoires

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();
Copier après la connexion

3. Téléchargez des fichiers depuis le réseau

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);
Copier après la connexion

4. Téléchargement forcé le fichier

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;);
Copier après la connexion

6. Afficher l'avatar Gravatar de l'utilisateur par email

$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;
}
Copier après la connexion

7. Obtenir le nombre d'abonnements RSS via cURL

$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;;
Copier après la connexion

8. Fonction de calcul du décalage horaire

$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);
Copier après la connexion

9. Recadrez l'image

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; ";
}
Copier après la connexion

10. Vérifiez si le site Web est en panne

$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);
Copier après la connexion

Apprentissage recommandé : Tutoriel vidéo php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal