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
|
<?php
namespace Gettext\Utils;
/* * Trait to provide the functionality of read/write csv. */ trait CsvTrait { private static $csvEscapeChar;
/** * Check whether support the escape_char argument to fgetcsv/fputcsv or not * * @return bool */ private static function supportsCsvEscapeChar() { if (self::$csvEscapeChar === null) { self::$csvEscapeChar = version_compare(PHP_VERSION, '5.5.4') >= 0; }
return self::$csvEscapeChar; }
/** * @param resource $handle * @param array $options * * @return array */ private static function fgetcsv($handle, $options) { if (self::supportsCsvEscapeChar()) { return fgetcsv($handle, 0, $options['delimiter'], $options['enclosure'], $options['escape_char']); }
return fgetcsv($handle, 0, $options['delimiter'], $options['enclosure']); }
/** * @param resource $handle * @param array $fields * @param array $options * * @return bool|int */ private static function fputcsv($handle, $fields, $options) { if (self::supportsCsvEscapeChar()) { return fputcsv($handle, $fields, $options['delimiter'], $options['enclosure'], $options['escape_char']); }
return fputcsv($handle, $fields, $options['delimiter'], $options['enclosure']); } }
|