diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index d02a95b59da..0d6cfa269e8 100755 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -274,6 +274,7 @@ static int spl_filesystem_file_open(spl_filesystem_object *intern, int use_inclu intern->u.file.delimiter = ','; intern->u.file.enclosure = '"'; + intern->u.file.escape = '\\'; zend_hash_find(&intern->std.ce->function_table, "getcurrentline", sizeof("getcurrentline"), (void **) &intern->u.file.func_getCurr); diff --git a/ext/spl/tests/SplFileObject_fgetcsv_escape_default.phpt b/ext/spl/tests/SplFileObject_fgetcsv_escape_default.phpt new file mode 100644 index 00000000000..b3b6c7c6092 --- /dev/null +++ b/ext/spl/tests/SplFileObject_fgetcsv_escape_default.phpt @@ -0,0 +1,24 @@ +--TEST-- +SplFileObject::fgetcsv with default escape character +--FILE-- +fgetcsv()); +?> +--CLEAN-- + +--EXPECTF-- +array(3) { + [0]=> + string(4) "aa\"" + [1]=> + string(2) "bb" + [2]=> + string(3) "\"c" +}