WC_CSV_Exporter::fputcsv()
Write to the CSV file, ensuring escaping works across versions of PHP.
PHP 5.5.4 uses '\' as the default escape character. This is not RFC-4180 compliant. \0 disables the escape character.
Method of the class: WC_CSV_Exporter{}
No Hooks.
Return
null
. Nothing.
Usage
// protected - for code of main (parent) or child class $result = $this->fputcsv( $buffer, $export_row );
- $buffer(resource) (required)
- Resource we are writing to.
- $export_row(array) (required)
- Row to export.
Notes
- See: https://bugs.php.net/bug.php?id=43225
- See: https://bugs.php.net/bug.php?id=50686
- See: https://github.com/woocommerce/woocommerce/issues/19514
- See: https://github.com/woocommerce/woocommerce/issues/24579
Changelog
Since 3.9.0 | Introduced. |
WC_CSV_Exporter::fputcsv() WC CSV Exporter::fputcsv code WC 7.5.1
protected function fputcsv( $buffer, $export_row ) { if ( version_compare( PHP_VERSION, '5.5.4', '<' ) ) { ob_start(); $temp = fopen( 'php://output', 'w' ); // @codingStandardsIgnoreLine fputcsv( $temp, $export_row, $this->get_delimiter(), '"' ); // @codingStandardsIgnoreLine fclose( $temp ); // @codingStandardsIgnoreLine $row = ob_get_clean(); $row = str_replace( '\\"', '\\""', $row ); fwrite( $buffer, $row ); // @codingStandardsIgnoreLine } else { fputcsv( $buffer, $export_row, $this->get_delimiter(), '"', "\0" ); // @codingStandardsIgnoreLine } }