PHP学習の7:拡張関数ライブラリ-ファイルシステム、プロセスとネットワーク
6499 ワード
PHPの拡張関数ライブラリは非常に膨大で、公式の非公式で、ここでは現在よく使われている拡張だけを記録しています.この部分については、コアの関数も記録しているだけで、全面的な記録ではありません.詳細な拡張関数の説明については、PHPのユーザーズマニュアルを使用中に参照する必要があります.
1ディレクトリ操作
dir()はディレクトリオブジェクトを返します
read()ディレクトリオブジェクト内のエントリを巡る
2ファイルシステムの操作
dirname()戻りパスのディレクトリ名セクション
basename()戻りパスのファイル名セクション
chown chgrp chmodは同名のlinuxシステム呼び出しと類似している
mkdir mkdir copy rename delete unlink tmpname touch tmpfile umaskは同名のlinuxシステム呼び出しと類似している
disk_free_space() disk_total_space()
fopen fread fwrite feof fflush fclose fseek ftell rewindなど同名C標準ライブラリ関数と同様の機能
file_exists()ファイルとディレクトリが存在するかどうかを確認
file()は、ファイル全体を配列に読み込み、各下書きに対応するファイルの行を表示します.
file_get_contents()はファイル全体を文字列に読み込み、ファイルの特定の場所から複数の文字を読み取ることをサポートします.
file_put_contents($file,$data)指定ファイルに文字列データを書き込む
readfile()readlink fileまたはlinkコンテンツを直接出力
fileatime filemtime filectime取得ファイルの前回アクセス/変更/inode変更時間
fileowner filegroupはファイルの所有者とグループの番号を返します
filesize filetype filepermsファイルのサイズ、タイプ、権限を取得
fputcsv fgetcsvファイルからcsv形式のデータを読み込むか、csv形式のデータをファイルに書き込む
fstat ftruncateポインタ対応ファイルのstat情報を取得/所定の長さに切断
statファイル名に基づいてファイルのstat情報を取得
is_dir is_file is_link is_executable is_readable is_writeable is_uploaded_file判定ファイルの属性
move_uploaded_file
parse_ini_file parse_ini_stringはiniファイルと文字列を解析し、関連する構成項目に名前でアクセスできる関連データを返します.
pathinfoは、dirname、basename、extname、filenameを含む関連配列を返します.
popen pcloseプロセスを指すパイプファイルのオン/オフ
realpath()は絶対パスを返します
3プロセス制御3.1 POSIX拡張
posix_アクセス($file,$mode)ファイルへのアクセス権を表示します.is_readableなどのいくつかの関数の代替
posix_errno()はposix関数が実行した前のエラーを返します.
posix_getcwd()は、getcwd()と同じ現在のディレクトリを返します.
posix_getgid()geteuid()getgid()getegied()getgroup()getpgid()getpgrp()getpgrp()getpid()getsidなどは同名linuxシステム呼び出しと類似している
posix_getlogin()ログイン名の取得
posix_getpwnam()ユーザーの詳細を取得
posix_getrlimit()リソース制限の取得
posix_kill() posix_times()
3.2プログラム実行関数
string exec($cmd,array&$output,int&$return_var)外部プログラムを実行し、出力の最後の行を返します.
string shell_exec($cmd)は`cmd`機能と同様に、プログラムのすべての出力を返します.
string system()コマンドを実行し、出力を表示し、出力の最後の行に戻ります.
escapeshellarg()エスケープ文字列はshellパラメータとして使用されます
escapeshellcmd()エスケープ文字shellコマンド
proc_Open()はプログラムを実行し、対応する入力と出力を読み書きするためのパイプを開きます.
proc_nice()調整プログラムの優先度
proc_close()開いているプログラムを閉じる
proc_terminate()オープンプログラムの終了
3.3信号量、IPCと共有メモリ
resource sem_get(int$key,[int$max_acquire=1[,int$perm=0666[,int$auto_release=1]]]))は、SYSTEM Vの信号量を返し、初回呼び出し時に作成され、その後の各呼び出しは異なる識別子を返しますが、同じ信号量にアクセスします. bool sem_remove(resource$handler)は、指定した信号量をシステムから除去し、bool sem_にアクセスできなくなります.acquire($handler)は信号量を得る前にbool sem_をブロックしていた.release($handler)解放前に得られた信号量
resource msg_get_Queue(int$key[,int$perms=0666])キーを押してSYSTEM Vのメッセージキューを返します.最初の呼び出しで作成され、その後の呼び出しでは異なる識別子が返されますが、同じメッセージキューにアクセスします. boo msg_remove_Queue($handler)システムのメッセージキューを削除すると、bool msg_にアクセスできなくなります.send($queue,int$msg_type,$msg[,bool$serialize=true[.bool$blocking=true[,int&$errcode]]))メッセージmsg_recvive($queue,int$expect_type,&$msgtype,$maxsize,&$msg[,bool$unserialize=true[,$flag=0[,&$errcode]]))メッセージキューからメッセージarray msg_を取り出します.stat_Queue($handler)メッセージキューの関連プロパティbool msg_を表示set_Queue()メッセージ上の関連プロパティの設定
resource shm_attach($key,$perms)キーを押してSYSTEM Vの共有メモリを返します.最初の呼び出しで作成され、その後の呼び出しでは異なる識別子が返されますが、同じメッセージキューにアクセスします. bool shm_remove($handler)共有メモリオブジェクトbool shm_をシステムから削除detach($handler)は共有メモリオブジェクトから切断されましたが、システムには関連オブジェクトbool shm_が存在します.put_var($hanlder,$key,$val)共有メモリにデータを設定mixed shm_get_var($handler,$key)共有内からデータbool shm_にアクセスremove_var($handler,$key)共有メモリからデータを除去
4ネットワーク拡張4.1 URL拡張
string base64_decode($str)は元の列を返します
string base64_Encode($str)は符号化列を返す
array get_headers($url,$b_hash)は、$b_hashが真の場合、関連配列が返されます
string http_build_query(array$data)hash配列データをhttp後の要求文字列に符号化する
string rawurlencode($str)RFC 1738に従ってURLを符号化する
string rawurldecode($str)URLを復号する
4.2 socket拡張resource socket_create($domain,$type,$protocol)はソケット記述子を返します.
socket_bind($sock,$ip,$port)設定バインド
socket_Listen($socket,$backlog)リスニングポート
resource socket_accept($sock)
resource socket_connect($sock,$ip,$port)リモートアドレスとポートを接続
string socket_read($sock,$length)ソケットからデータを読み出す
int socket_write($sock,$str,$len)ソケットからデータを書く
int socket_recv/send($sock,$&buf,$len,$flag)ソケットからデータの受信と送信
socket_recvfrom/sendto($sock,$&buf,$len,$flag,$&ip,$&port)
socket_get/set_option($sock,$level,$optname,[$optname])ソケットオプションの設定
socket_set_nonblock($sock)非ブロックに設定
socket_getpeer/sockname($sock,$&ip,$&port)
socket_strerror($errno)
socket_clear_error($sock)
4.3ネットワークツール
array dns_get_record($hostname,$type,$&auth_ns,$&additional)は、対応するタイプのホスト名のDNSレコードを取得し、認証NSおよび追加情報を返す
bool dns_check_record($name,$type)/checkdnsrr typeはMX,A,ANY,AAAA,ALLがあり、対応するレコードが見つかったらTを返し、そうでなければF
dns_get_mx/getmxrr($host,array$&mxlist)対応ホストのMXレコードを取得
resource fsockopen($ip,$port)は、socket_を実行したことに相当するネットワーク接続を返します.createとsocket_connect
string gethostbyaddr($ip)gethostbyname 1($host)は対応するドメイン名またはアドレスを返し、1付き関数を使用するとアドレス配列を返します.
getprotobyname/number()
getservbyname()/getservbyport()
string inet_ntop($in_addr)
string inet_pton($ip)
long2ip()/ip2long()
setsookie/setrawcookie($name,$val,$expier,$domain,)
socket_get_status()
socket_set_timeout()
1ディレクトリ操作
dir()はディレクトリオブジェクトを返します
read()ディレクトリオブジェクト内のエントリを巡る
<?php
$d=dir("./");
while($item=$d->read())
{
echo $item;
echo "
";
}
$d->rewind();
$d->close();
?>
2ファイルシステムの操作
dirname()戻りパスのディレクトリ名セクション
basename()戻りパスのファイル名セクション
chown chgrp chmodは同名のlinuxシステム呼び出しと類似している
mkdir mkdir copy rename delete unlink tmpname touch tmpfile umaskは同名のlinuxシステム呼び出しと類似している
disk_free_space() disk_total_space()
fopen fread fwrite feof fflush fclose fseek ftell rewindなど同名C標準ライブラリ関数と同様の機能
file_exists()ファイルとディレクトリが存在するかどうかを確認
file()は、ファイル全体を配列に読み込み、各下書きに対応するファイルの行を表示します.
file_get_contents()はファイル全体を文字列に読み込み、ファイルの特定の場所から複数の文字を読み取ることをサポートします.
file_put_contents($file,$data)指定ファイルに文字列データを書き込む
readfile()readlink fileまたはlinkコンテンツを直接出力
fileatime filemtime filectime取得ファイルの前回アクセス/変更/inode変更時間
fileowner filegroupはファイルの所有者とグループの番号を返します
filesize filetype filepermsファイルのサイズ、タイプ、権限を取得
fputcsv fgetcsvファイルからcsv形式のデータを読み込むか、csv形式のデータをファイルに書き込む
fstat ftruncateポインタ対応ファイルのstat情報を取得/所定の長さに切断
statファイル名に基づいてファイルのstat情報を取得
is_dir is_file is_link is_executable is_readable is_writeable is_uploaded_file判定ファイルの属性
move_uploaded_file
parse_ini_file parse_ini_stringはiniファイルと文字列を解析し、関連する構成項目に名前でアクセスできる関連データを返します.
pathinfoは、dirname、basename、extname、filenameを含む関連配列を返します.
popen pcloseプロセスを指すパイプファイルのオン/オフ
realpath()は絶対パスを返します
3プロセス制御3.1 POSIX拡張
posix_アクセス($file,$mode)ファイルへのアクセス権を表示します.is_readableなどのいくつかの関数の代替
posix_errno()はposix関数が実行した前のエラーを返します.
posix_getcwd()は、getcwd()と同じ現在のディレクトリを返します.
posix_getgid()geteuid()getgid()getegied()getgroup()getpgid()getpgrp()getpgrp()getpid()getsidなどは同名linuxシステム呼び出しと類似している
posix_getlogin()ログイン名の取得
posix_getpwnam()ユーザーの詳細を取得
posix_getrlimit()リソース制限の取得
posix_kill() posix_times()
3.2プログラム実行関数
string exec($cmd,array&$output,int&$return_var)外部プログラムを実行し、出力の最後の行を返します.
string shell_exec($cmd)は`cmd`機能と同様に、プログラムのすべての出力を返します.
string system()コマンドを実行し、出力を表示し、出力の最後の行に戻ります.
escapeshellarg()エスケープ文字列はshellパラメータとして使用されます
escapeshellcmd()エスケープ文字shellコマンド
proc_Open()はプログラムを実行し、対応する入力と出力を読み書きするためのパイプを開きます.
proc_nice()調整プログラムの優先度
proc_close()開いているプログラムを閉じる
proc_terminate()オープンプログラムの終了
3.3信号量、IPCと共有メモリ
resource sem_get(int$key,[int$max_acquire=1[,int$perm=0666[,int$auto_release=1]]]))は、SYSTEM Vの信号量を返し、初回呼び出し時に作成され、その後の各呼び出しは異なる識別子を返しますが、同じ信号量にアクセスします. bool sem_remove(resource$handler)は、指定した信号量をシステムから除去し、bool sem_にアクセスできなくなります.acquire($handler)は信号量を得る前にbool sem_をブロックしていた.release($handler)解放前に得られた信号量
resource msg_get_Queue(int$key[,int$perms=0666])キーを押してSYSTEM Vのメッセージキューを返します.最初の呼び出しで作成され、その後の呼び出しでは異なる識別子が返されますが、同じメッセージキューにアクセスします. boo msg_remove_Queue($handler)システムのメッセージキューを削除すると、bool msg_にアクセスできなくなります.send($queue,int$msg_type,$msg[,bool$serialize=true[.bool$blocking=true[,int&$errcode]]))メッセージmsg_recvive($queue,int$expect_type,&$msgtype,$maxsize,&$msg[,bool$unserialize=true[,$flag=0[,&$errcode]]))メッセージキューからメッセージarray msg_を取り出します.stat_Queue($handler)メッセージキューの関連プロパティbool msg_を表示set_Queue()メッセージ上の関連プロパティの設定
resource shm_attach($key,$perms)キーを押してSYSTEM Vの共有メモリを返します.最初の呼び出しで作成され、その後の呼び出しでは異なる識別子が返されますが、同じメッセージキューにアクセスします. bool shm_remove($handler)共有メモリオブジェクトbool shm_をシステムから削除detach($handler)は共有メモリオブジェクトから切断されましたが、システムには関連オブジェクトbool shm_が存在します.put_var($hanlder,$key,$val)共有メモリにデータを設定mixed shm_get_var($handler,$key)共有内からデータbool shm_にアクセスremove_var($handler,$key)共有メモリからデータを除去
4ネットワーク拡張4.1 URL拡張
string base64_decode($str)は元の列を返します
string base64_Encode($str)は符号化列を返す
array get_headers($url,$b_hash)は、$b_hashが真の場合、関連配列が返されます
string http_build_query(array$data)hash配列データをhttp後の要求文字列に符号化する
string rawurlencode($str)RFC 1738に従ってURLを符号化する
string rawurldecode($str)URLを復号する
<?php
$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(get_headers($url));
/*
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
*/
4.2 socket拡張resource socket_create($domain,$type,$protocol)はソケット記述子を返します.
socket_bind($sock,$ip,$port)設定バインド
socket_Listen($socket,$backlog)リスニングポート
resource socket_accept($sock)
resource socket_connect($sock,$ip,$port)リモートアドレスとポートを接続
string socket_read($sock,$length)ソケットからデータを読み出す
int socket_write($sock,$str,$len)ソケットからデータを書く
int socket_recv/send($sock,$&buf,$len,$flag)ソケットからデータの受信と送信
socket_recvfrom/sendto($sock,$&buf,$len,$flag,$&ip,$&port)
socket_get/set_option($sock,$level,$optname,[$optname])ソケットオプションの設定
socket_set_nonblock($sock)非ブロックに設定
socket_getpeer/sockname($sock,$&ip,$&port)
socket_strerror($errno)
socket_clear_error($sock)
4.3ネットワークツール
array dns_get_record($hostname,$type,$&auth_ns,$&additional)は、対応するタイプのホスト名のDNSレコードを取得し、認証NSおよび追加情報を返す
bool dns_check_record($name,$type)/checkdnsrr typeはMX,A,ANY,AAAA,ALLがあり、対応するレコードが見つかったらTを返し、そうでなければF
dns_get_mx/getmxrr($host,array$&mxlist)対応ホストのMXレコードを取得
resource fsockopen($ip,$port)は、socket_を実行したことに相当するネットワーク接続を返します.createとsocket_connect
string gethostbyaddr($ip)gethostbyname 1($host)は対応するドメイン名またはアドレスを返し、1付き関数を使用するとアドレス配列を返します.
getprotobyname/number()
getservbyname()/getservbyport()
string inet_ntop($in_addr)
string inet_pton($ip)
long2ip()/ip2long()
setsookie/setrawcookie($name,$val,$expier,$domain,)
socket_get_status()
socket_set_timeout()