一般的に使用される 21 の PHP 関数コード スニペットを共有します
- 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; $i{
- $password.=$conso[rand(0,19)];
- $password.=$vocal[rand(0,4)];
- }
- return $password;
- }
-
- 2. PHP はランダムな文字列を生成します
-
- 読み取り可能な文字列が必要ない場合は、代わりにこの関数を使用してください。 、ユーザーのランダムなパスワードなどとしてランダムな文字列を作成できます。
-
- /*ターl; $i++) {
- $rand.= $c[rand()%strlen($c)];
- }
- return $rand;
- }
-
- 3. PHP エンコードメールアドレス
-
- 任意のメールスパム プログラムによる収集を防ぐために、アドレスを HTML 文字エンティティとしてエンコードできます。
-
- function encode_email($email='info@domain.com', $linkText='お問い合わせ', $attrs ='class=”emailencoder”' )
- {
- // remplazar aroba y puntos
- $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 = '$part2 = 'ilto:';
- $part3 = '" '. $attrs >';
- $part4 = '';
-
- $encoded = '';
-
- return $encoded;
- }
-
- 4. PHP 検証電子メール アドレス
-
- 電子メール検証は、電子メール アドレスの検証に加えて、DNS の MX をチェックすることも選択できます。メールドメインが属するレコード。
-
- function 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);
- return getmxrr($domain, $mxrecords);
- }
- else
- return true;
- else
- return false ;
- }
-
- 5. PHP ディレクトリの内容をリストする
-
- function list_files($dir)
- {
- if(is_dir($dir))
- {
- if($handle = opendir($dir) ))
- {
- while( ($file = readdir($handle)) !== false)
- {
- if($file != “.” && $file != “..” && $file != “親指.db”)
- {
- echo ''.$file.'
- '.”n”;
- }
- }
- closedir($handle);
- }
- }
- }
-
- 6. PHP ディレクトリを削除します
-
- ディレクトリとその内容を含みます。
-
- /*************
- *@l – ランダムな文字列の長さ
- */
- function destroyDir($dir, $virtual = false)
- {
- $ds = DIRECTORY_SEPARATOR;
- $dir = $virtualpath($dir) : $dir;
- $dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir;
- if (is_dir($dir) && $handle = opendir($dir))
- {
- while ( $file = readdir($handle))
- {
- if ($file == '.' || $file == '..')
- {
- 続行;
- }
- elseif (is_dir($dir.$ds. $file))
- {
- destroyDir($dir.$ds.$file);
- }
- else
- {
- unlink($dir.$ds.$file);
- }
- }
- closedir($handle);
- rmdir($dir);
- return true;
- }
- else
- {
- 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 は XML データを解析します
-
- // xml string
- $xml_string=”
-
-
- Foo
- foo@bar.com
-
-
- Foobar
- foobar@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 はログの省略形を作成します
-
- ユーザーフレンドリーなログの省略形を作成します。
-
- function create_slug($string){
- $slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
- return $slug;
- }
-
- 10 . PHP はクライアントの実際の IP アドレスを取得します
-
- この関数は、プロキシ サーバーを使用している場合でも、ユーザーの実際の IP アドレスを取得します。
-
- function getRealIpAddr()
- {
- if (!emptyempty($_SERVER['HTTP_CLIENT_IP']))
- {
- $ip=$_SERVER['HTTP_CLIENT_IP'];
- }
- elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_F)または ']))
- //IP がプロキシから渡されたことを確認するには
- {
- $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
- }
- else
- {
- $ip=$_SERVER['REMOTE_ADDR'];
- }
- return $ip;
- }
-
- 11. PHP 必須ファイルダウンロード
-
- は、ユーザーに必須ファイルダウンロード機能を提供します。
-
- /********************
- *@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[] = '. '" href="#" title="" . $tag .
- '' は ' . $count . '">'
- のカウントを返しました.htmlspecialchars(stripslashes( $tag ) ) .'';
- }
-
- return join( "n", $cloudTags ) . "n";
- }
- /***************************
- **** 使用例 ***/
- $arr(' 'アクションスクリプト' => 35、'配列' => 43、'キャンバス' => ' => 15、'カラーパレット' => 11、'デリミタ' => 34、'エンコード' ' => 12, '暗号化' => 30,
- '抽出' => 28, 'フィルター' => 42);
- echo getCloud($arr, 12, 36);
-
- 13 2 つの文字列の類似性
-
- PHP には、めったに使用されない類似テキスト関数が用意されていますが、この関数は 2 つの文字列を比較し、類似性のパーセンテージを返すのに非常に役立ちます。
-
- similar_text($string1, $string2, $percent);
- //$percent は類似性のパーセンテージを持ちます
-
- 14. PHP はアプリケーションで Gravatar を使用します ユニバーサルアバター
-
- WordPress がますます人気になるにつれて、Gravatar もまたそれになります人気になりました。 Gravatar は使いやすい API を提供するため、アプリケーションに簡単に組み込むことができます。
-
- /******************
- *@email – グラバターを表示するメールアドレス
- *@size – グラバターのサイズ
- *@default – 使用するデフォルトのグラバターのURL
- *@評価– Gravatarの評価(G、PG、R、X)
- */
- function show_gravatar($email, $size, $default, $rated)
- {
- echo ''&default='.$default.'&size='.$size.'&rated= '.$評価.'" width="'.$size.'px"
- height="'.$size.'px" />';
- }
-
- 15. PHP は文字ブレークポイントでテキストを切り捨てます
-
- いわゆるワードブレークは、行を変更するときに単語が分割される可能性がある場所です。この関数は、ワードブレークで文字列を切り捨てます。
-
- // Chirp Internet によるオリジナルの PHP コード: www.chirp.com.au
- // このヘッダーを含めることで、このコードの使用を承認してください。
- function myTruncate($string, $limit, $break=”.”, $ Pad=”…”) {
- // string が $limit より短い場合は、変更せずに戻ります
- if(strlen($string) <= $limit)
- return $string;
- // $ の間に $break が存在しますlimit と文字列の終わり?
- if(false !== ($breakpoint = strpos($string, $break, $limit))) {
- if($breakpoint < strlen($string) – 1) {
- $string = substr($string, 0, $breakpoint) 。 $pad;
- }
- }
- return $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->numFiles,' ステータスが ',$zip->status;
-
- //zip を閉じます — 完了!
- $zip->close();
-
- //チェックしてくださいファイルが存在することを確認してください
- return file_exists($destination);
- }
- else
- {
- return 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){
- // create object
- $zip = new ZipArchive() ;
- // open archive
- 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 と電子メールの地名文字列を可用性ポイントの超級接続に変換します。 |ht)lianqiangjavatp://)[-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 は画像のサイズを調整します
-
- 画像の略図を作成するには時間がかかりますが、このコードは略図の理解に役立ちます。 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 return $im;
-
- if($x >= $y) {
- $newx = $xmax;
- $newy = $newx * $y / $x;
- }
- else {
- $newy = $ymax;
- $ newx = $x / $y * $newy;
- }
-
- $im2 = imagecreatetruecolor($newx, $newy);
- imagecopyresize($im2, $im, 0, 0, 0, 0, Floor($newx), Floor($newy), $x, $y);
- return $im2;
- }
-
- 21. PHP 検索 ajax 要求
-
- 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{
- //他のもの
- }
-
-
-
- コードをコピー
|