PHP は COM を通じてコン​​ポーネント実装コードを呼び出します class_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:21:01
オリジナル
823 人が閲覧しました

PHP 4.2.0 ~ 4.2.3 では、拡張 php_w32api.dll を php.ini で開く必要がある場合、w32api_register_function 関数を使用して外部 DLL を呼び出すことができます。
PHP 5 を使用している場合、DLL を呼び出すには PHP の COM クラスのみを使用できます。
基本的なメソッドは次のとおりです: $obj = new COM("server.object")
明らかに、COM クラスによって PHP の機能が大幅に向上しました。同時に、このクラスはコンポーネントの PO 呼び出しメソッドを OO メソッドに変更します。
COM クラスを使用する前に、次の 3 つの条件を確認してください:
1. コンポーネントを有効にする: regsvr32 コンポーネント DLL
2. COM の呼び出しを許可する: php.ini で com.allow_dcom =true
3. アカウントにコンポーネントへのアクセス許可がある。
その後、php の com 関数を使用して直接呼び出すことができます
$obj = new COM("ABC.MyObj"); //通常、前がメインファイル名、後ろがクラス名です。レジストリ内で
このように生成されます。 obj というオブジェクトの場合、そのプロパティとメソッドを使用して
$obj->MyAttr='123';
$obj->SerAttr('str',0) を操作できます。 ;
==== ==================================== ====== =============================
いくつかの例:

コードをコピー コードは次のとおりです:

$phpwsh=new COM("Wscript.Shell") または die("Wscript.Shell の作成に失敗しました!");
$phpexec=$phpwsh->exec("cmd) .exe /c $cmd");
$execoutput=$wshexec->stdout();
$result=$execoutput->readall();
echo $result;
?>gt;
$obj = new COM("server.object ")
COM オブジェクトのプロパティとメソッドを使用できます。
以下は Word を例にしています
// Start word
$word = new COM("word.application") or die("Unable to instantiate Word");
print "ioaded Word, version {$word-> Version} n";
//前に配置
$word->Visible = 1;
//空の文書を開く
$word->Documents->Add();
//好きなようにしてください
$ word->Selection->TypeText("これはテストです...");
$word->Documents[1]->SaveAs("役に立たないテスト.doc"); word
$word->Quit();
$word->Release();
$word = null;
$com=new COM(' Scripting.FileSystemObject '); // FSO は絶対パス
$file=$com ->getfile(__FILE__); // 絶対パス
$file ->attributes='6'; // 属性を変更します。 to system and hidden
//定数値の説明
//Normal 0 通常のファイル。プロパティが設定されていません。
//ReadOnly 1 つの読み取り専用ファイル。プロパティは読み取り/書き込み可能です。
//Hidden 2 隠しファイル。プロパティは読み取り/書き込み可能です。
//システム 4 システム ファイル。プロパティは読み取り/書き込み可能です。
//ボリューム 8 ディスクドライブのボリュームラベル。プロパティは読み取り専用です。
//ディレクトリ 16 フォルダーまたはディレクトリ。プロパティは読み取り専用です。
//アーカイブ 最後のバックアップ以降、32 個のファイルが変更されました。プロパティは読み取り/書き込み可能です。
//Alias 64 リンクまたはショートカット。プロパティは読み取り専用です。
//128 個の圧縮ファイルを圧縮しました。プロパティは読み取り専用です。
?>


PHP でファイルを非表示にする方法は上記のコードです。


コードをコピー
コードは次のとおりです: //これにより、asp
$xmlhttp=new COM('Microsoft.XMLHTTP') または die( "Microsoft .XMLHTTP の作成に失敗しました!");
$xmlhttp->open('GET','http://localhost/1.txt',false);
echo $ xmlhttp-> ;responseText;
/*
XMLHTTP メソッド
Open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword)
bstrMethod: データ送信メソッド、つまり GET または POST。
bstrUrl: サービス Web ページの URL。
varAsync: 同期的に実行するかどうか。デフォルトは True で、非同期実行を意味します。 False、同期実行の場合。
bstrUser: ユーザー名、省略可能。
bstrPassword: ユーザーのパスワード。省略可能。
Send(varBody)
varBody: 命令セット。 XML 形式のデータ、文字列、ストリーム、または符号なし整数配列を指定できます。これを省略することもでき、ディレクティブは Open メソッドの URL パラメーターを通じて置き換えられます。
setRequestHeader(bstrHeader, bstrvalue)
bstrHeader: HTTP ヘッダー (ヘッダー)
bstrvalue: HTTP ヘッダー (ヘッダー) の値 Open メソッドが POST として定義されている場合、フォームのアップロードを定義できます:
xmlhttp.setRequestHeader("Content-Type" , " application/x-www-form-urlencoded")
XMLHTTP 属性
onreadystatechange: 同期実行モードで返された結果のイベント ハンドルを取得します。 DOM 内でのみ呼び出すことができます。
responseBody: 結果は符号なし整数配列として返されます。
responseStream: 結果は IStream ストリームとして返されます。
responseText: 結果は文字列として返されます。
responseXML: 結果はXML形式のデータとして返されます。
*/
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324949.html技術記事 PHP 4.2.0 ~ 4.2.3 では、拡張 php_w32api.dll を php.ini で開く必要がある場合、w32api_register_function 関数を使用して外部 DLL を呼び出すことができます。 PHP 5 を使用している場合は、...
に電話してください。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!