ホームページ バックエンド開発 PHPチュートリアル php Windows システム検出プログラム_PHP チュートリアル

php Windows システム検出プログラム_PHP チュートリアル

Jul 13, 2016 am 10:58 AM
command function php windows プログラム システム

function do_command($commandName, $args) {
 $buffer = "";
 if (false === ($command = find_command($commandName))) return false;
 if ($fp = @popen("$command $args", 'r')) {
  その間 (!@feof($fp)){
   $buffer .= @fgets($fp, 4096);
  }
  トリムを返す($buffer);
 }
 false を返します;
}

//windows系探测
関数 sys_windows() {
 $objLocator = 新しい COM("WbemScripting.SWbemLocator");
 $wmi = $objLocator->ConnectServer();
 $prop = $wmi->get("Win32_PnPEntity");
 //CPU
 $cpuinfo = GetWMI($wmi,"Win32_Processor", array("名前","L2CacheSize","NumberOfCores"));
 $res['cpu']['num'] = $cpuinfo[0]['NumberOfCores'];
 if (null == $res['cpu']['num']) {
  $res['cpu']['num'] = 1;
 }
 for ($i=0;$i   $res['cpu']['model'] .= $cpuinfo[0]['Name']."
";
  $res['cpu']['cache'] .= $cpuinfo[0]['L2CacheSize']."
";
 }
 // SYSINFO
 $sysinfo = GetWMI($wmi,"Win32_OperatingSystem", array('LastBootUpTime','TotalVisibleMemorySize','FreePhysicalMemory','Caption','CSDVersion','SerialNumber','InstallDate'));
 $res['win_n'] = $sysinfo[0]['Caption']." ".$sysinfo[0]['CSSDVersion']." 配列号:{$sysinfo[ 0]['SerialNumber']} より".date('Y年m月d日H:i:s',strtotime(substr($sysinfo[0]['InstallDate'],0,14)))。安装";
 //稼働時間
 $res['uptime'] = $sysinfo[0]['LastBootUpTime'];


 $sys_ticks = 3600*8 + time() - strtotime(substr($res['uptime'],0,14));
 $min = $sys_ticks / 60;
 $時間 = $分 / 60;
 $days = フロア($hours / 24);
 $hours = フロア($hours - ($days * 24));
 $min = フロア($min - ($days * 60 * 24) - ($hours * 60));
 if ($days !== 0) $res['uptime'] = $days."天";
 if ($hours !== 0) $res['uptime'] .= $hours."小時間";
 $res['uptime'] .= $min."分钟";

//メモリー
 $res['memTotal'] = $sysinfo[0]['TotalVisibleMemorySize'];
 $res['memFree'] = $sysinfo[0]['FreePhysicalMemory'];
 $res['memused'] = $res['memTotal'] - $res['memFree'];
 $res['memPercent'] =round($res['memused'] / $res['memTotal']*100,2);

$swapinfo = GetWMI($wmi,"Win32_PageFileUsage", array('AllocatedBaseSize','CurrentUsage'));
 // TODO swp区获取
 $res['swapTotal'] = $swapinfo[0][AllocatedBaseSize];
 $res['swapused'] = $swapinfo[0][現在の使用量];
 $res['swapFree'] = $res['swapTotal'] - $res['swapused'];
 $res['swapPercent'] = (floatval($res['swapTotal'])!=0)?round($res['swapused']/$res['swapTotal']*100,2):0;

// LoadPercentage
 $loadinfo = GetWMI($wmi,"Win32_Processor", array("LoadPercentage"));
 $res['loadAvg'] = $loadinfo[0]['LoadPercentage'];

$res を返す;
}

関数 GetWMI($wmi,$strClass, $strValue = array()) {
 $arrData = array();

$objWEBM = $wmi->Get($strClass);
 $arrProp = $objWEBM->プロパティ_;
 $arrWEBMCol = $objWEBM->インスタンス_();
 foreach($arrWEBMol as $objItem) {
  @reset($arrProp);
  $arrInstance = array();
  foreach($arrProp as $propItem) {
   eval("$value = $objItem->" . $propItem->Name . ";");
   if (empty($strValue)) {
    $arrInstance[$propItem->名前] = トリム($値);
   } その他 {
    if (in_array($propItem->Name, $strValue)) {
     $arrInstance[$propItem->名前] = トリム($値);
    }
   }
  }
  $arrData[] = $arrInstance;
 }
 $arrData を返す;
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632007.html技術記事 function do_command($commandName, $args) { $buffer = ; if (false === ($command = find_command($commandName))) false を返します。 if ($fp = @popen($command $args, 'r')) { while (!@feof($...
)
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 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.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

PSの負荷速度をスピードアップする方法は? PSの負荷速度をスピードアップする方法は? Apr 06, 2025 pm 06:27 PM

Slow Photoshopの起動の問題を解決するには、次のような多面的なアプローチが必要です。ハードウェアのアップグレード(メモリ、ソリッドステートドライブ、CPU)。時代遅れまたは互換性のないプラグインのアンインストール。システムのゴミと過剰な背景プログラムを定期的にクリーンアップします。無関係なプログラムを慎重に閉鎖する。起動中に多数のファイルを開くことを避けます。

cマルチスレッドの3つの実装方法の違いは何ですか cマルチスレッドの3つの実装方法の違いは何ですか Apr 03, 2025 pm 03:03 PM

マルチスレッドは、コンピュータープログラミングの重要なテクノロジーであり、プログラムの実行効率を改善するために使用されます。 C言語では、スレッドライブラリ、POSIXスレッド、Windows APIなど、マルチスレッドを実装する多くの方法があります。

クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? Apr 07, 2025 am 12:02 AM

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

[ブラウザ]タブを閉じることと、JavaScriptを使用してブラウザ全体を閉じることを区別する方法は? [ブラウザ]タブを閉じることと、JavaScriptを使用してブラウザ全体を閉じることを区別する方法は? Apr 04, 2025 pm 10:21 PM

ブラウザのJavaScriptを使用して、タブを閉じることとブラウザ全体を区別する方法は?ブラウザの毎日の使用中、ユーザーは...

See all articles