From ce02f2a86251163fb47806ac406ad366f45c9c1b Mon Sep 17 00:00:00 2001
From: Mikhail Alferov
Date: Tue, 18 Aug 2026 04:04:34 +0300
Subject: [PATCH 1/5] Clean up fgetcsv example
---
reference/filesystem/functions/fgetcsv.xml | 25 ++++++++++++++--------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/reference/filesystem/functions/fgetcsv.xml b/reference/filesystem/functions/fgetcsv.xml
index 48cdd62375ea..7c61c470259d 100644
--- a/reference/filesystem/functions/fgetcsv.xml
+++ b/reference/filesystem/functions/fgetcsv.xml
@@ -200,19 +200,26 @@
$num fields in line $row:
\n";
- $row++;
- for ($c=0; $c < $num; $c++) {
- echo $data[$c] . "
\n";
+
+if (($handle = fopen("test.csv", "r")) !== false) {
+ $row = 1;
+
+ while (($fields = fgetcsv($handle, 1000, ",", "\"", "\\")) !== false) {
+ $num = count($fields);
+
+ echo "\n$num fields in line $row:
\n";
+
+ for ($c = 0; $c < $num; $c++) {
+ echo "\n\t- ", $fields[$c], "
";
}
+
+ echo "\n
";
+
+ $row++;
}
+
fclose($handle);
}
-?>
]]>
From f3bacf70524ecbe44bfd557638f9cd3dbc443f0d Mon Sep 17 00:00:00 2001
From: Mikhail Alferov
Date: Tue, 18 Aug 2026 06:28:04 +0300
Subject: [PATCH 2/5] Update fgetcsv.xml Remove extra dot
---
reference/filesystem/functions/fgetcsv.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/reference/filesystem/functions/fgetcsv.xml b/reference/filesystem/functions/fgetcsv.xml
index 7c61c470259d..8b5a868130fa 100644
--- a/reference/filesystem/functions/fgetcsv.xml
+++ b/reference/filesystem/functions/fgetcsv.xml
@@ -88,7 +88,7 @@
It must be a single byte character or the empty string.
The empty string ("") disables the proprietary escape mechanism.
-
+
In the input stream, the enclosure character
can always be escaped by doubling it inside a quoted string,
From ec795f14f0b117184b71a63efef216669ddbd18b Mon Sep 17 00:00:00 2001
From: Mikhail Alferov
Date: Tue, 18 Aug 2026 06:28:41 +0300
Subject: [PATCH 3/5] Update fgetcsv.xml Remove extra dot
---
reference/spl/splfileobject/fgetcsv.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/reference/spl/splfileobject/fgetcsv.xml b/reference/spl/splfileobject/fgetcsv.xml
index 2838ffbe1c4e..fab4a024a1f9 100644
--- a/reference/spl/splfileobject/fgetcsv.xml
+++ b/reference/spl/splfileobject/fgetcsv.xml
@@ -53,7 +53,7 @@
SplFileObject::setCsvControl.
An empty string ("") disables the proprietary escape mechanism.
-
+
As of PHP 8.4.0, depending on the default value of
From 24060e8fa64af7ce29a7e318cb7674e26436e4d9 Mon Sep 17 00:00:00 2001
From: Mikhail Alferov
Date: Tue, 18 Aug 2026 06:31:23 +0300
Subject: [PATCH 4/5] Update fgetcsv.xml Roll back
---
reference/filesystem/functions/fgetcsv.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/reference/filesystem/functions/fgetcsv.xml b/reference/filesystem/functions/fgetcsv.xml
index 8b5a868130fa..7c61c470259d 100644
--- a/reference/filesystem/functions/fgetcsv.xml
+++ b/reference/filesystem/functions/fgetcsv.xml
@@ -88,7 +88,7 @@
It must be a single byte character or the empty string.
The empty string ("") disables the proprietary escape mechanism.
-
+
In the input stream, the enclosure character
can always be escaped by doubling it inside a quoted string,
From 8d0d1aa763dd551870b629d42b4299d2e75cd63d Mon Sep 17 00:00:00 2001
From: Mikhail Alferov
Date: Tue, 18 Aug 2026 06:31:52 +0300
Subject: [PATCH 5/5] Update fgetcsv.xml Roll back
---
reference/spl/splfileobject/fgetcsv.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/reference/spl/splfileobject/fgetcsv.xml b/reference/spl/splfileobject/fgetcsv.xml
index fab4a024a1f9..2838ffbe1c4e 100644
--- a/reference/spl/splfileobject/fgetcsv.xml
+++ b/reference/spl/splfileobject/fgetcsv.xml
@@ -53,7 +53,7 @@
SplFileObject::setCsvControl.
An empty string ("") disables the proprietary escape mechanism.
-
+
As of PHP 8.4.0, depending on the default value of