1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1.13 $ -->
<reference id="ref.dir">
<title>ディレクトリ関数</title>
<titleabbrev>ディレクトリ</titleabbrev>
<partintro>
<simpara>
<function>dirname</function>, <function>is_dir</function>,
<function>mkdir</function>, <function>rmdir</function>のような関係
については、<link linkend="ref.filesystem">ファイルシステム</link>
の節を参照下さい。
</simpara>
</partintro>
<refentry id="function.chroot">
<refnamediv>
<refname>chroot</refname>
<refpurpose>ルートディレクトリを変更する</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>int</type><methodname>chroot</methodname>
<methodparam><type>string</type><parameter>directory</parameter></methodparam>
</methodsynopsis>
<para>
カレントのプロセスのルートディレクトリを
<parameter>directory</parameter>に変更します。ルートディレクトリ
を変更できない場合に &false;、それ以外の場合に &true; を返します。
</para>
<note>
<para>
このリクエストの後で再度ルートディレクトリを / にリセットするこ
とはできないため、Webサーバ環境での実行時にこの関数を使用するの
は賢明ではありません。この関数は、CGIとして実行する場合にのみ正
しく機能します。
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.chdir">
<refnamediv>
<refname>chdir</refname>
<refpurpose>ディレクトリを変更します</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>bool</type><methodname>chdir</methodname>
<methodparam><type>string</type><parameter>directory</parameter></methodparam>
</methodsynopsis>
<para>
PHPのカレント・ディレクトリを<parameter>directory</parameter>に変
更します。ディレクトリを変更できなかった場合は&false;を返し、そう
でなければ&true;を返します。
</para>
</refsect1>
</refentry>
<refentry id="class.dir">
<refnamediv>
<refname>dir</refname>
<refpurpose>ディレクトリ・クラス</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>object</type><methodname>dir</methodname>
<methodparam><type>string</type><parameter>directory</parameter></methodparam>
</methodsynopsis>
<para>
ディレクトリを読むための疑似オブジェクト指向の機構です。
指定した <parameter>directory</parameter> がオープンされます。
いったんディレクトリがオープンされると、2 つのプロパティを使用
できるようになります。handle プロパティは、<function>readdir
</function>, <function>rewinddir</function>, <function>
closedir</function> のような他のディレクトリ関数と組み合わせて
使用可能です。path プロパティには、オープンするディレクトリのパス
をセットします。read, rewind, close の3種類のメソッドが
使用できます。
<example>
<title><function>dir</function> の例</title>
<programlisting role="php">
<![CDATA[
$d = dir("/etc");
echo "Handle: ".$d->handle."<br>\n";
echo "Path: ".$d->path."<br>\n";
while (false !== ($entry = $d->read())) {
echo $entry."<br>\n";
}
$d->close();
]]>
</programlisting>
</example>
</para>
<note>
<para>
読み込みにより返されるディレクトリエントリの順番は、システムに依
存します。
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.closedir">
<refnamediv>
<refname>closedir</refname>
<refpurpose>ディレクトリ・ハンドルをクローズします</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>void</type><methodname>closedir</methodname>
<methodparam><type>resource</type><parameter>dir_handle</parameter></methodparam>
</methodsynopsis>
<para>
<parameter>dir_handle</parameter> で指定したディレクトリのストリー
ムをクローズします。このストリームは、
<function>opendir</function>により事前にオープンされていなければ
なりません。
</para>
</refsect1>
</refentry>
<refentry id="function.getcwd">
<refnamediv>
<refname>getcwd</refname>
<refpurpose>カレントのワーキングディレクトリを取得する</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>string</type><methodname>getcwd</methodname>
<void/>
</methodsynopsis>
<para>
カレントのワーキングディレクトリを返します。
</para>
</refsect1>
</refentry>
<refentry id="function.opendir">
<refnamediv>
<refname>opendir</refname>
<refpurpose>ディレクトリ・ハンドルのオープン</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>resource</type><methodname>opendir</methodname>
<methodparam><type>string</type><parameter>path</parameter></methodparam>
</methodsynopsis>
<para>
ディレクトリ・ハンドルをオープンします。この関数は、この後、
<function>closedir</function>, <function>readdir</function>,
<function>rewinddir</function> 関数コールで使用されます。
</para>
<para>
<parameter>path</parameter> が有効なディレクトリでないかまたは権
限が制限されているかファイルシステムのエラーによりディレクトリが
オープンできない場合、<function>opendir</function>は&false;を返し、
PHPエラーを生成します。<function>opendir</function>のこのエラー出
力は、関数名の前に `@' を付けることにより抑制できます。
</para>
<para>
<example>
<title><function>opendir</function> の例</title>
<programlisting role="php">
<![CDATA[
<?php
if ($dir = @opendir("/tmp")) {
while (($file = readdir($dir)) !== false) {
echo "$file\n";
}
closedir($dir);
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.readdir">
<refnamediv>
<refname>readdir</refname>
<refpurpose>ディレクトリ・ハンドルからのエントリ読み込み</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>string</type><methodname>readdir</methodname>
<methodparam><type>resource</type><parameter>dir_handle</parameter></methodparam>
</methodsynopsis>
<para>
ディレクトリから次のファイルのファイル名を返します。ファイル名は
特定の順序で返されるわけではありません。
<example>
<title>カレントディレクトリにある全ファイルのリスト</title>
<programlisting role="php">
<![CDATA[
// Note that !== did not exist until 4.0.0-RC2
<?php
$handle=opendir('.');
echo "Directory handle: $handle\n";
echo "Files:\n";
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
closedir($handle);
?>
]]>
</programlisting>
</example>
</para>
<para>
<function>readdir</function> は、エントリ . および .. を返すことに
注意して下さい。これらを必要としない場合には、次のように取り除いて下さい。
<example>
<title>
現在のディレクトリの . および .. を除いた全てのファイルの一覧を表示。
</title>
<programlisting role="php">
<![CDATA[
<?php
$handle = opendir('.');
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file\n";
}
}
closedir($handle);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.rewinddir">
<refnamediv>
<refname>rewinddir</refname>
<refpurpose>ディレクトリ・ハンドルを元に戻します</refpurpose>
</refnamediv>
<refsect1>
<title>説明</title>
<methodsynopsis>
<type>void</type><methodname>rewinddir</methodname>
<methodparam><type>resource</type><parameter>dir_handle</parameter></methodparam>
</methodsynopsis>
<para>
<parameter>dir_handle</parameter> で指定されたディレクトリの
ストリームをディレクトリの先頭にリセットします。
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|