php_PHP チュートリアルに実装された Telnet 関数の例
php
telnet
コードをコピーします コードは次のとおりです:
class PHPTelnet {
var $show_connect_error=1;
var $use_usleep=0; // 実行を高速化するには 1 に変更します
// PHP 5 がない限り、Windows サーバーでは 1 に変更しないでください
var $sleeptime=125000;
var $loginsleeptime=1000000;
var $fp=NULL;
var $ loginprompt;
var $conn1;
var $conn2;
/*
0 = 成功
1 = ネットワーク接続を開けませんでした
2 = 不明なホスト
3 = ログイン失敗
4 = PHP バージョンが低すぎます
*/
function Connect($server,$user,$pass) {
$rv=0;
$vers=explode('.',PHP_VERSION);
$needvers=array(4,3,0);
$j= count($vers);
$k=count($needvers);
if ($k<$j) $j=$k;
for ($i=0;$i<$j;$i++) {
if (($vers[$i]+0)>$needvers[$i]) Break;
if (($vers[$i]+0) $this- >ConnectError(4);
return 4;
}
}
$this->Disconnect();
if (strlen($server)) if (preg_match('/[^0-9. ]/',$server)) {
$ip=gethostbyname($server);
if ($ip==$server) {
$rv=2;
}
} else $ip =$サーバー;
}else $ip='127.0.0.1';
if (strlen($ip)) {
if ($this->fp=fsockopen($ip,23)) {
fputs($this->fp, $this->conn1);
$this->Sleep();
fputs($this->fp,$this->conn2);
$this->Sleep() ;
$this ->GetResponse($r);
$r=explode("n",$r);
$this->loginprompt=$r[count($r)-1];
fputs($this- >fp,"$usern");
$this->Sleep();
fputs($this->fp,"$passn");
if ($this->use_usle ep) usleep($ this->loginsleeptime);
else sleep(1);
$this->GetResponse($r);
$r=explode("n",$r);
if (($r[count($ r)-1]=='')||($this->loginprompt==$r[count($r)-1])) {
$rv=3;
$this->Disconnect() ;
}
} else $rv=1;
}
if ($rv) $this->ConnectError($rv);
return $rv;
}
関数 切断($exit=1) {
if ($this->fp) {
if ($exit) $this->DoCommand('exit',$junk);
fclose($this->fp);
$this->fp= NULL;
}
}
function DoCommand($c,&$r) {
if ($this->fp) {
fputs($this->fp,"$cn");
$this- >Sleep();
$this->GetResponse($r);
$r=preg_replace("/^.*?n(.*)n[^n]*$/","$1",$ r);
}
return $this->fp?1:0;
}
function GetResponse(&$r) {
$r='';
do {
$r .=fread($this- >fp, 1024);
$s=socket_get_status($this->fp);
} while ($s['unread_bytes']);
}
function Sleep() {
if ($this->use_usleep) usleep($this->sleeptime);
else sleep(1);
}
function PHPTelnet() {
$this->conn1 =chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB).
chr(0x20).chr(0xFF).chr(0xFB).chr(0x18).chr(0xFF) ).chr(0xFB).
chr(0x27).chr(0xFF).chr(0xFD).chr(0x01).chr(0xFF).chr(0xFB).
chr(0x03).chr(0xFF).chr (0xFD).chr(0x03).chr(0xFF).chr(0xFC).
chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA)。
chr(0x1F).chr(0x00).chr(0x50).chr(0x00).chr(0x18).chr(0xFF).
chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20) ).chr(0x00).chr(0x33).
chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).
chr(0x38).chr (0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).
chr(0xFF).chr(0xFA).chr(0x27).chr(0x00).chr(0xFF)。 chr(0xF0).
chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(0x58).chr(0x54).
chr(0x45).chr(0x52).chr(0x4D) ).chr(0xFF).chr(0xF0);
$this->conn2=chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC).
chr(0x22) .chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21);
}
関数 ConnectError($num) {
if ($this-> show_connect_error) スイッチ ($num) {
ケース 1: echo '
[PHP Telnet] 接続失敗: ネットワーク接続を開けません
'; Break;
ケース 2: echo '
[PHP Telnet] 接続に失敗しました: 不明なホスト
'; Break;
ケース 3: echo '
[PHP Telnet] 接続失敗: ログイン失敗しました
'; Break;
ケース 4: echo '
[PHP Telnet] 接続に失敗しました: サーバーの PHP バージョンは、PHP Telnet には低すぎます
';休憩;
}
}
}
?>
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック
Gmailメールのログイン入り口はどこですか?
7333
9


Java チュートリアル
1627
14


CakePHP チュートリアル
1351
46


Laravel チュートリアル
1262
25


PHP チュートリアル
1209
29



PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
