PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPリソース


定義と使用法

PHPでは、リソース は、外部リソースを参照する特別なデータ型です。リソース変数は、ストリーム、ファイル、データベースなどの外部データソースへの参照として機能します。PHPはrelevent関数を使用してこれらのリソースを作成します。たとえば、fopen()関数はディスクファイルを開き、その参照はリソース変数に格納されます。

PHPのZendエンジンは、リファレンスコンティングシステムを使用しています。その結果、参照カウントがゼロのリソースは、ガベージコレクターによって自動的に破棄されます。したがって、リソースデータ型によって使用されるメモリを手動で解放する必要はありません。

さまざまな種類のリソースを、対応する関数を使用してPHPスクリプトで処理できます。次の表に選択リストを示します-

リソースタイプ名
作成者
破壊者
定義
bzip2
bzopen()
bzclose()
Bzip2ファイル
curl
curl_init()
curl_close()
カールセッション
ftp
ftp_connect()、
ftp_close()
FTPストリーム
mssqlリンク
mssql_connect()
mssql_close()
MicrosoftSQLServerデータベースへのリンク
mysqlリンク
mysql_connect()
mysql_close()
MySQLデータベースへのリンク
mysqlの結果
mysql_db_query()、
mysql_free_result()
MySQLの結果
oci8接続
oci_connect()
oci_close()
Oracleデータベースへの接続
ODBCリンク
odbc_connect()
odbc_close()
ODBCデータベースへのリンク
pdfドキュメント
pdf_new()
pdf_close()
PDFドキュメント
ストリーム
opendir()
closedir()
ディレクトリハンドル
ストリーム
fopen()、tmpfile()
fclose()
ファイルハンドル
ソケット

fclose()
ソケットハンドル
xml
xml_parser_create()、
xml_parser_free()
XMLパーサー
zlib
gzopen()
gzclose()
gz-圧縮ファイル
zlib.deflate
deflate_init()
None()
インクリメンタルデフレートコンテキスト
zlib.inflate
inflate_init()
None()
インクリメンタルインフレートコンテキスト

このコンテキストでは、PHPには変数のリソースタイプを返すget_resource_type()関数があります。

構文

クラスのオブジェクトを宣言するには、newステートメントを使用する必要があります

get_resource_type ( resource $handle ) : string

ここで、$ handleは、タイプが取得されるリソース変数です。この関数は、リソースタイプに対応する文字列を返します

次の例は、ディスクファイルのリソースタイプを示しています

<?php
$fp=fopen("test.txt","w");
var_dump($fp);
?>

出力

これにより、次の結果が生成されます-

タイプ(ストリーム)の
resource(5) of type (stream)

次の例では、get_resource_type()関数を使用しています

<?php
$fp = fopen("test.txt", "w");
echo get_resource_type($fp) . "\n";
?>

出力

これにより、次の結果が生成されます-

stream

  1. PHP型演算子

    はじめに PHPでは、特定の変数が特定のクラスのオブジェクトであるかどうかを確認できます。この目的のために、PHPにはインスタンスがあります オペレーター。 構文 $var instanceof class この演算子はブール値TRUEを返します。$varはクラスのオブジェクトです。それ以外の場合はFALSEを返します 例 次の例では、instanceof演算子は、ユーザー定義のテストクラスの特定のオブジェクトかどうかを確認します 例 <?php class testclass{    //class body } $a=new testclass(); if

  2. システム リソースとは| |さまざまな種類のシステム リソース

    システム リソース: 機知に富むことは普遍的に魅力的な特性です。機知に富むということは、多くのリソースを自由に使えるが、自分の可能性を最大化する能力、またはいつでも利用できる限られたリソースを利用できるということではありません。これは、現実の世界だけでなく、日常生活で使用するようになったハードウェアやソフトウェアにも当てはまります。物事を大局的に見ると、パフォーマンス志向の車が望まれ、空想され、切望されているとしても、ほとんどの人に理由を尋ねた場合、たとえ手段があったとしても、誰もがスポーツカーやスポーツバイクを購入するわけではありません.そのような車両を購入しなかった人は、「それは実用的では