Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 17 additions & 10 deletions reference/filesystem/functions/fgetcsv.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 330a38c4d45556b49e06ebe6d39e0e311534cd8c Maintainer: hirokawa Status: ready -->
<!-- EN-Revision: 9936f6b7df4f01883b41f60d06fb438e9bf7e667 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: shimooka,mumumu -->
<refentry xml:id="function.fgetcsv" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
Expand Down Expand Up @@ -204,19 +204,26 @@
<programlisting role="php">
<![CDATA[
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";

if (($handle = fopen("test.csv", "r")) !== false) {
$row = 1;

while (($fields = fgetcsv($handle, 1000, ",", "\"", "\\")) !== false) {
$num = count($fields);

echo "\n<p>$num fields in line $row:</p>\n<ol>";

for ($c = 0; $c < $num; $c++) {
echo "\n\t<li>", $fields[$c], "</li>";
}

echo "\n</ol>";

$row++;
}

fclose($handle);
}
?>
]]>
</programlisting>
</example>
Expand Down
22 changes: 21 additions & 1 deletion reference/filesystem/functions/flock.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 75a76afb61d91f04feebc83931c5412b13682d2b Maintainer: hirokawa Status: ready -->
<!-- EN-Revision: f3112c43e303fcd63c0df89798b45bfef9d49e15 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: shimooka,mumumu -->
<refentry xml:id="function.flock" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
Expand Down Expand Up @@ -197,13 +197,33 @@ fclose($fp);
旧式のファイルシステムではサポートされていないため、
これらの環境の場合は常に&false;を返すことになります。
</para>
<para>
Windows では、<constant>LOCK_EX</constant> でロックされた PHP のソースファイルを
PHP が実行しようとすると、そのファイルのロックが解放されるまでハングします。
以下の例はデッドロックを引き起こします。
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
if ($argv[1] ?? null === 'child') { die(); }
$fp = fopen(__FILE__, "rb");
flock($fp, LOCK_EX);
shell_exec("php " . escapeshellarg(__FILE__) . " child");
?>
]]>
</programlisting>
</informalexample>
</para>
</warning>
<note>
<para>
Windows では、
ロックするプロセスが同じファイルを二回オープンする場合、
ファイルをアンロックするまで二番目のハンドルではアクセスできません。
</para>
<simpara>
Windows では、LOCK_EX でロックされたファイルを require しようとすると、ErrorException: require(): Read of X bytes failed with errno=13 Permission denied で失敗します。
</simpara>
</note>
</refsect1>

Expand Down
15 changes: 10 additions & 5 deletions reference/filesystem/ini.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d4d5216e7a965ca194f6b1c9dee84cecab2674e5 Maintainer: takagi Status: ready -->
<!-- EN-Revision: 9e5166dc6a5ff650b649298470d19eb7c3637a63 Maintainer: takagi Status: ready -->
<!-- CREDITS: hirokawa,shimooka,mumumu -->
<section xml:id="filesystem.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
Expand Down Expand Up @@ -153,19 +153,24 @@
<type>bool</type>
</term>
<listitem>
<para>
<simpara>
onにした場合、PHPは
<function>fgets</function> および <function>file</function>
により読み込まれたデータを評価し、UNIX、MS-DOS、Machintoshの行末
表記を使用しているかどうかを調べます。
</para>
<para>
</simpara>
<simpara>
これにより、PHPがMacintoshシステムと相互運用できるようになりますが、
デフォルトはOffとなっています。これは、最初の行の行末表記を検出
する際にごく僅かな性能劣化があるためと、UNIXシステムのもとで復改
文字を項目セパレータとして使用している人が従来のバージョンと互換
性がない動作であると感じる可能性があるためです。
</para>
</simpara>
<warning>
<simpara>
このオプションは PHP 8.1.0 で非推奨になりました。
</simpara>
</warning>
</listitem>
</varlistentry>

Expand Down
Loading