ホームページ  >  記事  >  バックエンド開発  >  PHPの実践的なコード

PHPの実践的なコード

WBOY
WBOYオリジナル
2016-06-23 14:30:39837ブラウズ

1. PHP 読み取り可能なランダム文字列 このコードは、辞書の単語に近い、実用的でパスワード検証機能を備えた読み取り可能な文字列を作成します。 /************** *@length - ランダムな文字列の長さ (2 の倍数である必要があります) **************/ function 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; $iname; // foo echo $obj->interest[1]; を出力します。 //prints php 8. PHP 解析 XML データ //xml string $xml_string=" Foo< /name>foo@bar.comFoobar /名前>/ユーザー> // 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 構築日志の略名 利用者に優しい日志の略名。 function create_slug($string){ $slug=preg_replace('/[^A-Za-z0-9-]+/', '-' 、$string); $slug を返します。 } 10. PHP はクライアントの真の IP アドレスを取得します。この関数は、ユーザーの実際の IP アドレスを取得します。つまり、プロキシサーバーを使用します。 function 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'];     } else { $ip=$_SERVER['REMOTE_ADDR'];     } $ip を返します。 /******************** *@file - ファイルへのパス*/ functionforce_download($file) { if ((isset($file))&&(file_exists($file)) ) { header("Content-length: ".filesize($file)); header('Content-Type: application/octet-stream'); header('Content-Disposition:attachment; filename="' . $file . '"'); readfile("$file"); } else { echo "ファイルが選択されていません"; } } 12. PHP创建标签云 function 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( ストリップスラッシュ( $tag ) ) 。 ''; join( "n", $cloudTags ) を返します。 「ん」; } /*************************** **** 使用例 ***/ $arr = Array('Actionscript' => 35, 'Adobe' => 22, 'Array' => 44, 'Background' => 43, 'Blur' = > 18、'キャンバス' => 15、'カラーパレット' => 42、'深さ' => ; 34、「デザイン」 => 12、「抽出」 => 42)エコー getCloud($arr, 12, 36);   13. PHP は 2 つの文字列の類似性を検出する PHP には、使用頻度が低い類似テキスト関数が用意されていますが、この関数は、2 つの文字列を比較して類似度の百分率を返すのに非常に役立ちます。 $パーセント); //$percent には類似性のパーセンテージが表示されます 14. PHP では、WordPress の普及とともに Gravatar の汎用イメージが使用されます。Gravatar は使いやすい API を提供するため、アプリケーション プログラムにも組み込まれています。 /****************** *@email - グラバターを表示する電子メール アドレス *@size - グラバターのサイズ *@default - 使用するデフォルトのグラバターの URL *@評価 - グラバターの評価(G、PG、R、X)*/ function show_gravatar($email, $size, $default, $ ratings) { echo ''; } 15. PHP は、文字区切り点で文字列を区切ります。これは、実行時に 1 つの実行が途切れることがあります。  // Chirp Internet によるオリジナルの PHP コード: www.chirp.com.au // このヘッダーを含めて、このコードの使用を承認してください。 function myTruncate($string, $limit, $break=".", $pad="...") { // string が $limit より短い場合は、変更せずに戻ります if(strlen($string) <= $制限) $string を返します。 // $break は $limit と文字列の終わりの間に存在しますか? if(false !== ($breakpoint = strpos($string, $break, $limit))) { if($breakpoint < strlen($string) - 1) { $string = substr($string, 0, $ブレークポイント) 。 $パッド; $string を返します。 } /***** 例 ****/ $short_string=myTruncate($long_string, 100, ' ');   16. PHP文件 Zip 压缩 /* 圧縮 zip ファイルを作成します */ function create_zip($files = array(),$destination = '',$overwrite = false) { //zip ファイルが既に存在し、上書きが false の場合、 return 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 = new ZipArchive(); if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } //ファイルを追加 foreach($valid_files as $file) { $zip->addFile($file,$file); } //debug //echo 'zip アーカイブには、',$zip->status のステータスを持つ ',$zip->numFiles' ファイルが含まれています。 //zip を閉じます -- 完了です。 $zip->close(); // ファイルが存在することを確認します return file_exists($destination); } else { 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 'アーカイブをディレクトリに抽出'; } 18. PHP は URL アドレスとして http 文字列を設定する必要がある場合がありますが、表内の一部のネットワーク アクセスを受け入れる必要がありますが、http:// フィールドを追加することはほとんどありません。このコードはそのフィールドを追加するネットワークになります。 if (!preg_match("/^ (http|ftp):/", $_POST['url'])) { $_POST['url'] = 'http://'.$_POST['url']; } 19. PHP は、ウェブサイトの文字列を超級接続に変換します。この関数は、URL と電子メールの地名文字列をマイポイントの超級接続に変換します。 function 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);  return $text;} 20. PHP で画像サイズを調整して画像の略図を作成するには時間がかかるため、このコードは略図の理解に役立ちます。/********************** *@filename - 画像へのパス *@tmpname - サムネイルへの一時パス *@xmax - 最大幅 *@ymax - 最大高さ*/ function sinner_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); ($ext == "gif") $im = imagecreatefromgif($tmpname); $x = imagex($im); $x = $y) { $newy = $yx * $x } else { $newy = $ymax; x / $y * $newy; } $im2 = imagecreatetruecolor($newx, $newy); imagecopyresize($im2, $im, 0, 0, 0, 0, 床($newx), 床($newy), $ x, $y); return $im2; } 21. jquery、Mootools などのほとんどの JavaScript フレームワークは、Ajax リクエストの場合、追加の HTTP_X_REQUESTED_WITH ヘッダー情報を送信します。サーバー側で Ajax リクエストを検出できます。 if(!emptyempty($_SERVER['HTTP_X_REQUESTED_WITH']) && strto lower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){ //AJAX リクエストの場合 }else{ //他のもの }

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。