Define('SYS_DEBUG',false);
IF(SYS_DEBUG) {
ini_set('display_errors','on');
Error_reporting(E_ALL);//オンラインになった後にこの設定を使用します。 Error_reporting(E_ERROR | E_WARNING | E_PARSE) );
}Else{
ini_set('display_errors','off');
//エラーをキャッチしました
Register_shutdown_function('Fun::Error'); /**
一般的なエラー処理
パラメータ:
出力する内容、プログラムの実行を終了するかどうか
指示:
値が渡された場合、この関数を使用してカスタマイズされたエラー内容を出力できます
さらに、 Register_shutdown_function を使用して、エラー内容を自動的にキャプチャし、キャプチャしたエラー内容をメールに送信します。 Register_shutdown_function の仕組みは、プログラムが完了したとき、または途中でエラーが発生したときに関数が呼び出されるというものです。エラー内容が見つからない場合は、最後のエラー内容が取得されます。
Return:
内容は画面または電子メールに直接出力されます。
Usage:
Fun::Error('Error content'); ::Error('エラー内容',False);*/
パブリック静的関数エラー($M='',$E=True){
$ErrTpl='
{$M} |
table>';
$M=Trim($M);
IF($M!='') {//手動呼び出し
$M=' 注: ;
Echo Strtr($ErrTpl,Array('{$M}'=>$M));unSet($ErrTpl);
IF($E===True) {Die();}
}Else{// プログラムが実行され、エラーが自動的にキャプチャされたら、
$M=error_get_last() を呼び出します。 // 最後のエラーを取得します
IF(!Is_array($M) Or Count($M)IF(!File_Exists($M['file'])) {Unset($M);Return ;}
//キー エラー コードの 5 行を取得します。コンテンツを取得できません。エラー ファイルが存在しないことを示します
$E=Array_slice(File($M['file']),($M['line']-4),5); ($E)) {未設定 ($M,$E);Return ;}
$E['M']='';
For($i=0;$i$ E[$i]=isSet ($E[$i]) ? $E[$i] : '';
$E['M'].=' ; $i==3) ? ''.(($M['line']-3)+($i+1)).' : (($M['line ']-3)+( $i+1));
$E['M'].=': '.Htmlspecialchars($E[$i],ENT_QUOTES,'UTF-8').'
}
$ E=&$E['M'];
$M='
エラーの説明:< /b>
'.$M['file'].' '.$M['line']< /b> タイプ '.$M['type'].' '.$M['message'].'
br> キーコード:
'.$E.'
'.self::now('Y-m-d H:i:s',time()).'
';
$M=Strtr($ErrTpl,Array('{$M}'=>$M));unSet($ErrTpl); ', 'config');
IF(!self::Mail2($G['Spe'],'警告: '.$G['Tit'].' PHP プログラム エラーが発生しました!',$M) SYS_DEBUG== =True){
throw new Exception('警告: '.$G['Tit'].' PHP プログラム エラーが発生しました!
'.$M); SYS_DEBUG) { エコー $M;}
unSet($E,$M,$G);
Die()
}
}
/**
メールを送信する
パラメータ:
受信者、メールのタイトル (改行なし)、メールの内容 (行は n で区切る必要があり、各行は 70 文字を超えることはできません)
説明:
PHP 組み込み関数を呼び出すMail はメールを送信します
戻り値:
ブール値を返します
使用法:
$IsSend=Fun::Mail2($email,$tit,$msg);*/
パブリック静的関数 Mail2($to,$tit) ,$msg ) {
IF(Filter_var($to,FILTER_VALIDATE_EMAIL)==''){
新しい例外をスロー('メールアドレスが間違っています!')
}
$tit='=?UTF-8?B? '.Base64_Encode ($tit).'?=';
$msg = str_replace("n.","n..",$msg); //Windows は行頭にピリオドを見つけると、この質問を回避してください 1 つのピリオドを 2 つのピリオドに置き換えてください
Return Mail($to,$tit,$msg,'From:'.seft::getG('config/SYS/Mal')."n".'コンテンツタイプ:text/html;charset=utf-8');
http://www.bkjia.com/PHPjc/326333.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/326333.html
技術記事
PHP を開発している友人は、プログラムに例外やエラーが発生すると、ユーザーは恐怖を感じ、さらには職を失うことを知っています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPでHTML/XMLを解析および処理するにはどうすればよいですか?
Feb 07, 2025 am 11:57 AM
このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
今まで知らなかったことを後悔している 7 つの PHP 関数
Nov 13, 2024 am 09:42 AM
あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。
JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。
Apr 05, 2025 am 12:04 AM
JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。
母音を文字列にカウントするPHPプログラム
Feb 07, 2025 pm 12:12 PM
文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。
母音とは何ですか?
母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。
a、e、i、o、u
例1
入力:string = "tutorialspoint"
出力:6
説明する
文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります
PHPでの後期静的結合を説明します(静的::)。
Apr 03, 2025 am 12:04 AM
静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。
PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか?
Apr 03, 2025 am 12:03 AM
PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
See all articles