ホームページ  >  記事  >  バックエンド開発  >  21 の命を救う PHP コード_PHP チュートリアル

21 の命を救う PHP コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:46:42915ブラウズ

1. PHP はランダムな文字列を読み取ることができます
このコードは、辞書の単語に近い、実用的でパスワード検証機能を備えた可読文字列を作成します。
/**************
        *@length - ランダムな文字列の長さ (2 の倍数である必要があります)
        **************/
関数 readable_random_string($length = 6){
$conso=array("b","c","d","f","g","h","j","k","l",
"m","n","p","r","s","t","v","w","x","y","z");
$vocal=array("a","e","i","o","u");
$password="";
srand ((double)microtime()*1000000);
$max = $length/2;
for($i=1; $i {
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}
return $password;
}


2. PHP はランダムな文字列を生成します
読み取り可能な文字列が必要ない場合は、代わりにこの関数を使用して、ユーザーのランダムなパスワードなどとしてランダムな文字列を作成します。
2. PHP はランダムな文字列を生成します

読み取り可能な文字列が必要ない場合は、代わりにこの関数を使用して、ユーザーのランダムなパスワードなどとしてランダムな文字列を作成します。

/*************
        *@l - ランダムな文字列の長さ
       */
関数generate_rand($l){
$c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
for($i=0; $i $rand.= $c[rand()%strlen($c)];
}
$rand を返す;
}


3. PHP でエンコードされたメールアドレス
このコードを使用すると、任意の電子メール アドレスを HTML 文字エンティティとしてエンコードして、スパム プログラムによって収集されるのを防ぐことができます。
function encode_email($email='info@domain.com', $linkText='お問い合わせ', $attrs ='class="emailencoder"' )
{
                                                                                          $email = str_replace('@', '@', $email);
$email = str_replace('.', '.', $email);
$email = str_split($email, 5);
$linkText = str_replace('@', '@', $linkText);
$linkText = str_replace('.', '.', $linkText);
$linkText = str_split($linkText, 5);
$part1 = '';
$part4 = '
';
$encoded = '';
return $encoded;
}


4. PHP認証メールアドレス
電子メール検証は、おそらく中国で最も一般的に使用されている Web フォーム検証です。電子メール アドレスの検証に加えて、このコードは電子メール ドメインが属する DNS の MX レコードをチェックすることも選択でき、電子メール検証機能がより強力になります。
関数 is_valid_email($email, $test_mx = false)
{
if(エレギ("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9 -]+)*(.[a-z]{2,4})$", $email))
If($test_mx)
                                                                                  list($username, $domain) = split("@", $email);
getmxrr($domain, $mxrecords);
を返します                                                                                                                           それ以外
                                                                                                                                                                                                                                                                                                           その他
falseを返します;
}


 5. PHP列出目录内容
        関数 list_files($dir)
        {
                if(is_dir($dir))
                {
                        if($handle = opendir($dir))
                        {
                                while(($file = readdir($handle)) !== false)
                                {
                                        if($file != "." && $file != ".." && $file != "Thumbs.db")
                                        {
                                                echo ''.$file.'
'."n";
                                        }
                                }
                                Closedir($handle);
                        }
                }
        }

 


6. PHP ディレクトリを破棄します
ディレクトリをその内容も含めて削除します。
/*****
        *@dir - 破棄するディレクトリ
        *@virtual[オプション] - 仮想ディレクトリかどうか
       */
function destroyDir($dir, $virtual = false)
{
$ds = DIRECTORY_SEPARATOR;
$dir = $virtual?($dir) : $dir;
$dir = substr($dir, -1) == $ds substr($dir, 0, -1) : $dir;
If (is_dir($dir) && $handle = opendir($dir))
{
                                                                                                                                                                                                                                                                                                                                                                     If ($file == '.' || $file == '..')
                                                                                              を通して                                                                                         elseif (is_dir($dir.$ds.$file))
                                                                                                                                                                                                                                                                                                                                                                                                                                                   それ以外
                                                                                              以来                                                                                                                                                                                                                   closeir($handle);
                                                                                                                                                                                             trueを返す;
}
その他
{
return false;
}
}
7. PHP は JSON データを解析します
Twitter などの最も一般的な Web サービスはオープン API を通じてデータを提供するため、JSON、XML などのさまざまな配信形式で API データを解析する方法を常に認識しています。
$json_string='{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ';
$obj=json_decode($json_string);
echo $obj->name // foo
を出力します。 echo $obj->interest[1] // php
を出力します。 8. PHP は XML データを解析します
//xml文字列
$xml_string="
                                                         
                                                                                                                                                                     

                                                                                                      <メール> fobar@foo.com
                                                                   
//simplexml を使用して XML 文字列をロードします
$xml = simplexml_load_string($xml_string);

// user
の各ノードをループします foreach ($xml->user as $user)
{
// 属性にアクセス
echo $user['id'], ' ';
// サブノードは -> 演算子によってアクセスされます
; echo $user->name, ' ';
echo $user->email, '
';
}


9. PHP はログの略語を作成します
ユーザーフレンドリーなログの略語を作成します。
関数 create_slug($string){
$slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
戻り $slug;
}
10. PHPでクライアントの実際のIPアドレスを取得します
この関数は、ユーザーがプロキシ サーバーを使用している場合でも、ユーザーの実際の IP アドレスを取得します。
関数 getRealIpAddr()
{
If (!emptyempty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR']))
// IP がプロキシから渡されたことを確認するため
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
その他
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
11. PHP必須ファイルのダウンロード
ユーザーに必須のファイルダウンロード機能を提供します。
/********************
        *@file - ファイルへのパス
       */
関数force_download($file)
{
If ((isset($file))&&(file_exists($file))) {
header("コンテンツの長さ: ".filesize($file));
header('Content-Type: application/octet-stream');
header('Content-Disposition:attachment; filename="' . $file . '"');
readfile("$file");
} else {
echo "ファイルが選択されていません";
}
}
12. PHPでタグクラウドを作成する
関数 getCloud( $data = array(), $minFontSize = 12, $maxFontSize = 30 )
{
$minimumCount = min( array_values( $data ) );
$maximumCount = max( array_values( $data ) );
$spread = $maximumCount - $minimumCount;
$cloudHTML = '';
$cloudTags = array();
$spread == 0 && $spread = 1;
foreach( $data as $tag => $count )
{
$size = $minFontSize + ( $count - $minimumCount )
* ( $maxFontSize - $minFontSize ) / $spread;
$cloudTags[] = '' の数を返しました
.htmlspecialchars(stripslashes($tag)) '
';
                                                                     
return join( "n", $cloudTags ) 。 }
/**************************
        **** 使用例 ***/
$arr = Array('Actionscript' => 35, 'Adobe' => 22, 'Array' => 44, 'Background' => 43,
'ぼかし' => 18、'キャンバス' => 15、'カラーパレット' => 42、 「区切り文字」 => 13、「深さ」 => 8、「暗号化」 => 30 '抽出' => 28、'フィルター' => 42);
echo getCloud($arr, 12, 36);
13. PHP は 2 つの文字列間の類似性を検出します
PHP には、2 つの文字列を比較し、それらの類似度のパーセンテージを返す、めったに使用されませんが非常に便利な、similar_text 関数が用意されています。
like_text($string1, $string2, $percent);
//$percent には類似性のパーセンテージが入ります


14. PHP はアプリケーションで Gravatar ユニバーサルアバターを使用します
WordPress の人気が高まるにつれて、Gravatar も人気が高まります。 Gravatar は使いやすい API を提供するため、アプリケーションに簡単に組み込むことができます。

/******************

        *@email - グラバターを表示するメール アドレス
        *@size - グラバターのサイズ
        *@default - 使用するデフォルトの Gravatar の URL
        *@評価 - Gravatar(G、PG、R、X)の評価
       */
関数 show_gravatar($email, $size, $default, $評価)
{
echo ' height="'.$size.'px" />';
}


15. PHP は文字ブレークポイントでテキストを切り捨てます

いわゆるワードブレークは、改行時に単語を区切ることができる場所です。この関数は、ハイフネーションポイントで文字列を切り詰めます。

15. PHP は文字ブレークポイントでテキストを切り捨てます

いわゆるワードブレークは、改行時に単語を区切ることができる場所です。この関数は、ハイフネーションポイントで文字列を切り詰めます。


15. PHP は文字ブレークポイントでテキストを切り捨てます
いわゆるワードブレークは、改行時に単語を区切ることができる場所です。この関数は、ハイフネーションポイントで文字列を切り詰めます。
// Chirp Internet によるオリジナルの PHP コード: www.chirp.com.au
// このヘッダーを含めることで、このコードの使用を承認してください。
function myTruncate($string, $limit, $break=".", $pad="...") {
// 文字列が $limit より短い場合は変更せずに戻ります
if(strlen($string) $string を返す;
// $break は $limit と文字列の終わりの間に存在しますか?
If(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint $string = substr($string, 0, $breakpoint) . }
}
戻り $string;
}
/***** 例 ****/
$short_string=myTruncate($long_string, 100, ' ');
16. PHPファイルのZip圧縮
/* 圧縮 zip ファイルを作成します */
function create_zip($files = array(),$destination = '',$overwrite = false) {
//zip ファイルが既に存在し、上書きが false の場合は false を返します
If(file_exists($destination) && !$overwrite) { return false }
//vars
$valid_files = array();
// ファイルが渡された場合...
if(is_array($files)) {
//各ファイルを循環します
foreach($files as $file) {
// ファイルが存在することを確認してください
if(file_exists($file)) {
$valid_files[] = $file;
}
}
}
// 適切なファイルがあれば...
if(count($valid_files)) {
// アーカイブを作成します
$zip = 新しい ZipArchive();
If($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
false を返す;
}
// ファイルを追加します
foreach($valid_files as $file) {
$zip->addFile($file,$file);
}
//デバッグ
//echo 'zip アーカイブには、',$zip->status のステータスを持つ ',$zip->numFiles' ファイルが含まれています。
// ジッパーを閉じます -- 完了です!
$zip->close();
// ファイルが存在することを確認します
return file_exists($destination);
}
その他
{
false を返す;
}
}
/***** 使用例 ***/
        $files=array('file1.jpg', 'file2.jpg', 'file3.gif');
        create_zip($files, 'myzipfile.zip', true);
        /* 圧縮 zip ファイルを作成します */
        function create_zip($files = array(),$destination = '',$overwrite = false) {
        //zip ファイルが既に存在し、上書きが false の場合は false を返します
        if(file_exists($destination) && !$overwrite) { return false; }
        //変数
        $valid_files = array();
        // ファイルが渡された場合...
        if(is_array($files)) {
        //各ファイルを循環して実行します
        foreach($files as $file) {
        // ファイルが存在することを確認してください
        if(file_exists($file)) {
        $valid_files[] = $file;
        }
        }
        }
        // 適切なファイルがあれば...
        if(count($valid_files)) {
        // アーカイブを作成します
        $zip = 新しい ZipArchive();
        if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
        false を返します;
        }
        // ファイルを追加します
        foreach($valid_files as $file) {
        $zip->addFile($file,$file);
        }
        //デバッグ
        //echo 'zip アーカイブには、',$zip->status のステータスを持つ ',$zip->numFiles' ファイルが含まれています。   
        
        // ジッパーを閉じます -- 完了です!
        $zip->close();   
        
        // ファイルが存在することを確認します
        return file_exists($destination);
        }
        それ以外
        {
        false を返します;
        }
        }
        /***** 使用例 ***/
        $files=array('file1.jpg', 'file2.jpg', 'file3.gif');
        create_zip($files, 'myzipfile.zip', true);


17. PHP は Zip ファイルを解凍します /********************** *@file - zip ファイルへのパス *@destination - 解凍されたファイルの宛先ディレクトリ        */ function unzip_file($file, $destination){ // オブジェクトを作成 $zip = new ZipArchive() // アーカイブを開きます if ($zip->open( $file) !== TRUE) { die ('アーカイブを開けませんでした') } } // コンテンツを宛先ディレクトリに抽出 $zip->extractTo($destination); // アーカイブを閉じる $zip->close( ) ; echo 'アーカイブをディレクトリに抽出'; if (!preg_match("/^(http|ftp):/", $_POST['url'])) { $_POST['url'] = 'http://'.$_POST['url']; } 19. PHPはURL文字列をハイパーリンクに変換します
この関数は、URL と電子メール アドレスの文字列をクリック可能なハイパーリンクに変換します。
関数 makeClickableLinks($text) {
$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)',
'1', $text);
$text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)',
'12', $text);
$text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})',
'1', $text);
$text を返す;
}
20. PHPで画像サイズを調整
画像のサムネイルの作成には時間がかかりますが、このコードはサムネイルのロジックを理解するのに役立ちます。
/**********************
        *@filename - 画像へのパス
        *@tmpname - サムネイルへの一時パス
        *@xmax - 最大幅
        *@ymax - 最大高さ
       */
関数size_image($filename, $tmpname, $xmax, $ymax)
{
$ext =explode(".", $filename);
$ext = $ext[count($ext)-1];
If($ext == "jpg" || $ext == "jpeg")
$im = imagecreatefromjpeg($tmpname);
elseif($ext == "png")
$im = imagecreatefrompng($tmpname);
elseif($ext == "gif")
                        $im = imagecreatefromgif($tmpname);    
        
                $x = 画像x($im);
                $y = 画像sy($im);    
        
                if($x                         $im を返します。    
        
                if($x >= $y) {
                        $newx = $xmax;
                        $newy = $newx * $y / $x;
                }
                他に{
                        $newy = $ymax;
                        $newx = $x / $y * $newy;
                }
        
                $im2 = imagecreatetruecolor($newx, $newy);
                imagecopyresize($im2, $im, 0, 0, 0, 0, フロア($newx), フロア($newy), $x, $y);
                $im2 を返します;
        }
 21. PHP检测 ajax 请求
  jquery、Mootools などのほとんどの JavaScript フレームワークは、Ajax リクエストの発行時に、都市は追加の HTTP_X_REQUESTED_WITH 部分情報を送信し、1 つの ajax リクエストであるため、サーバー側で Ajax リクエストを検出できます。         if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH']) && strto lower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
                //AJAX リクエストの場合
        }その他{
        //何か他のもの
        }

http://www.bkjia.com/PHPjc/478562.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478562.html技術記事 1. PHP は、任意の文字列を閲覧できます。このコードは、辞書内の単一の記述に近い、閲覧可能な文字列を作成し、暗号化の機能を備えています。 /************** *@長さ - l...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。