私たちが PHP 開発の現場に足を踏み入れたとき、私たちは常に自問し、学び続け、要約し続ける必要があります。そうすることによってのみ、PHP 開発の道をさらに前進することができます。個人的な開発の例として、初心者のパートナーが開発プロセス中に開発実践活動をより迅速に実行できるようにするための、一般的な公開メソッドをいくつかまとめました。パブリック メソッド msubstr を使用して、中国語の文字列をインターセプトします。長すぎる場合は、代わりに省略記号を使用してください:
使用シナリオ:
##このタイプのパブリック メソッドを使用するには、通常、一部の記事データをバックグラウンドでエディターにアップロードする必要があり、対応するデータをフロントエンドに表示する必要があります。場合によっては、バックグラウンド データが長すぎて、フロントエンドに表示されるスペースがすべてのデータを表示するのに十分でない場合、冗長な部分が省略記号で置き換えられます。これにより、フロントエンド データの表示が美しくシンプルになり、人々に快適な印象を与えることができます。心地よい気持ち。
#コード表示:
/** * 截取中文字符串,过长的使用省略号代替 */ function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){ $str = preg_replace("/<a[^>]*>/i", "", $str); $str = preg_replace("/<\/a>/i", "", $str); $str = preg_replace("/<div[^>]*>/i", "", $str); $str = preg_replace("/<\/div>/i", "", $str); $str = preg_replace("/<!--[^>]*-->/i", "", $str);//注释内容 $str = preg_replace("/style=.+?['|\"]/i",'',$str);//去除样式 $str = preg_replace("/class=.+?['|\"]/i",'',$str);//去除样式 $str = preg_replace("/id=.+?['|\"]/i",'',$str);//去除样式 $str = preg_replace("/lang=.+?['|\"]/i",'',$str);//去除样式 $str = preg_replace("/width=.+?['|\"]/i",'',$str);//去除样式 $str = preg_replace("/height=.+?['|\"]/i",'',$str);//去除样式 $str = preg_replace("/border=.+?['|\"]/i",'',$str);//去除样式 $str = preg_replace("/face=.+?['|\"]/i",'',$str);//去除样式 $str = preg_replace("/face=.+?['|\"]/",'',$str);//去除样式只允许小写正则匹配没有带 i if(function_exists("mb_substr")){ $slice= mb_substr($str, $start, $length, $charset); }elseif(function_exists('iconv_substr')) { $slice= iconv_substr($str,$start,$length,$charset); }else{ preg_match_all($re[$charset], $str, $match); $slice = join("",array_slice($match[0], $start, $length)); } $fix=''; if(strlen($slice) < strlen($str)){ $fix='...'; } return $suffix ? $slice.$fix : $slice; }
2.enctype 暗号化: 使用シナリオ:
フロントエンド パスワード マッチング設定ルールまたはバックエンド パスワード マッチング ルールの再暗号化による他のハッカーの防止一般的なパスワードの使用を禁止 照合メカニズムは、Web サイトのシャットダウンなどのタスクを実行します。 コード表示:
/** * 公共方法 * 优化md5加密: */ function enctype($password) { return md5($password . C('MD5_SUFFIX')); }注: C('MD5_SUFFIX') プロジェクトは、設定を読み取るための定数です。 MD5_SUFFIX」の定数は自分で設定できます。
3. 携帯電話番号の中央の 4 桁を *
に置き換えます。使用シナリオ:
ユーザーがウェブサイトに携帯電話番号でアカウントを登録した後、ユーザーの情報セキュリティを保護するために、携帯電話番号の中の 4 桁を * に置き換えて、携帯電話番号が表示されないようにしてください。完全に保護されるため、ユーザーの情報セキュリティはある程度確保されます。 コード表示:
/** * 将手机号中间4位替换为* */ function suohao($phone){ $p = substr($phone,0,3)."****".substr($phone,7,4); return $p; }4. 携帯電話番号が正しいことを確認します:
#使用シナリオ:
ユーザーが Web サイトを登録するときに、ユーザーが入力した携帯電話番号が正しいかどうかを確認します。これにより、バックエンド スタッフによる後のデータのメンテナンスが容易になります。 コード表示:
/** * 验证手机号是否正确 * @author honfei * @param number $mobile */ function isMobile($mobile) { if (!is_numeric($mobile)) { return false; } return preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $mobile) ? true : false; }
5. 入力内容が純粋な数値かどうかを確認します:
#使用シナリオ:
ユーザーが数値項目である必要があるパラメーターを送信するときの検証作業。検証後、ユーザーがデータを送信するのに役立つ、対応するフィードバック情報をユーザーに提供できます。#コード表示: #/**
* 验证输入的内容是否为纯数字
* @author wdy
* @param number $mobile
*/
function isNumeric($number) {
if (!is_numeric($number)) {
return false;
}
return preg_match('/^\d+$/i', $number) ? true : false;
}
#6. メールが正しいことを確認してください:
使用シナリオ:
ユーザーが電子メール情報を登録またはバインドするとき、ユーザーが後でパスワードを取得するときに迅速かつ効果的に受信できるように、電子メールの真の有効性を検証する必要があります。対応する確認コード。
コード表示:/**
* 验证邮箱是否正确
* @author wdy
* @param 18738536986@163.com $email
*/
function isEmail($email){
$mode = '/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/';
if(preg_match($mode,$email)){
return true;
}else{
return false;
}
}
7. 無限分類配列の再帰的並べ替え:
使用シナリオ:
モール分類は通常この方法を使用し、モール分類のデータを効果的に読み取って表示できるため、個人のメンテナンスに便利であると同時に、ユーザーにとっても便利です。
コード表示://递归重新排序无限极分类数组
function recursive($array,$pid=0,$level=0){
//接收传递过来的数组
$arr = array();
foreach ($array as $value) {
if($value['pid'] == $pid){
//定义分类级别
$value['level'] = $level;
//定义分类分隔符号
$value['html'] = str_repeat('-', $level);
//$arr[]来存储$value
$arr[] = $value;
//array_merge():函数把一个或多个数组合并为一个数组。
$arr = array_merge($arr,recursive($array,$value['id'],$level+1));
}
}
return $arr;
}
8. すべてのカテゴリのサブカテゴリの ID を取得します:
使用シナリオ:
モールのカテゴリを迅速に読み取ることで、機密情報データを迅速に統合して表示できると同時に、ユーザーの迅速なアクセス エクスペリエンスが容易になります。
コード表示://获取所有分类子分类的ID
function get_all_child($array, $id){
//定义一个数组
$arr = array();
//循环遍历
foreach ($array as $v) {
//判断pid是否等于id
if ($v['pid'] == $id) {
//$arr接收所有的id
$arr[] = $v['id'];
//array_merge():函数把一个或多个数组合并为一个数组。
$arr = array_merge($arr, get_all_child($array, $v['id']));
}
}
return $arr;
}
以上がPHP開発例の公開メソッド【詳細コード解説】の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









