PluginProbe
Import WP – CSV & XML Import Export for WordPress / 2.7.3
Import WP – CSV & XML Import Export for WordPress v2.7.3
2.15.1 2.15.0 2.14.24 2.14.23 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.9.0 2.9.1 All 144 releases
jc-importer / class / Common / Importer / File / CSVFile.php

CSVFile.php in Import WP – CSV & XML Import Export for WordPress 2.7.3, at class/Common/Importer/File/CSVFile.php

79 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ImportWP\Common\Importer\File;
4
5 use ImportWP\Common\Importer\FileInterface;
6
7 class CSVFile extends AbstractIndexedFile implements FileInterface
8 {
9
10 protected $enclosure = '"';
11 protected $delimiter = ',';
12
13
14 /**
15 * Set Enclosure
16 *
17 * @param string $enclosure
18 */
19 public function setEnclosure($enclosure)
20 {
21 $this->enclosure = $enclosure;
22 }
23
24 /**
25 * Set Delimiter
26 *
27 * @param string $delimiter
28 */
29 public function setDelimiter($delimiter)
30 {
31 $this->delimiter = $delimiter;
32 }
33
34 /**
35 * Get Delimiter
36 *
37 * @return string
38 */
39 public function getDelimiter()
40 {
41 return $this->delimiter;
42 }
43
44 /**
45 * Get enclosure
46 *
47 * @return string
48 */
49 public function getEnclosure()
50 {
51 return $this->enclosure;
52 }
53
54 /**
55 * Generate record file positions
56 *
57 * Loop through each record and save each position
58 */
59 protected function generateIndex()
60 {
61 $record = 0;
62 rewind($this->getFileHandle());
63 while (!feof($this->getFileHandle())) {
64
65 $startIndex = ftell($this->getFileHandle());
66 $row = fgetcsv($this->getFileHandle(), 0, $this->getDelimiter(), $this->getEnclosure());
67
68 if (!empty($row)) {
69 $this->setIndex($record, $startIndex, ftell($this->getFileHandle()));
70 $record++;
71 }
72
73 if ($this->is_processing && ($record >= 2 || $startIndex > $this->process_max_size)) {
74 break;
75 }
76 }
77 }
78 }
79