mirror of
https://github.com/parsecsv/parsecsv-for-php.git
synced 2026-02-19 08:36:39 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0395362d66 |
@@ -1,3 +1,26 @@
|
|||||||
|
parseCSV 0.4.2 beta
|
||||||
|
-----------------------------------
|
||||||
|
Date: 31-May-2008
|
||||||
|
|
||||||
|
- IMPORTANT! If you're using the output(),
|
||||||
|
please note that the first parameter has been
|
||||||
|
completely removed as it was technically just
|
||||||
|
useless. Instead, the second parameter
|
||||||
|
(filename) doubles as its replacement. Simply
|
||||||
|
put, if filename is not set or null, the
|
||||||
|
output() method will not output a downloadable
|
||||||
|
file. Please update your existing code
|
||||||
|
when using 0.4.2 and later :)
|
||||||
|
|
||||||
|
- Small fix to the headers sent by the output()
|
||||||
|
method.
|
||||||
|
|
||||||
|
- Added a download example using the output()
|
||||||
|
method to the examples folder.
|
||||||
|
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
|
||||||
parseCSV 0.4.1 beta
|
parseCSV 0.4.1 beta
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
Date: 29-May-2008
|
Date: 29-May-2008
|
||||||
|
|||||||
34
examples/download.php
Normal file
34
examples/download.php
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
# include parseCSV class.
|
||||||
|
require_once('../parsecsv.lib.php');
|
||||||
|
|
||||||
|
|
||||||
|
# create new parseCSV object.
|
||||||
|
$csv = new parseCSV();
|
||||||
|
|
||||||
|
|
||||||
|
# Parse '_books.csv' using automatic delimiter detection...
|
||||||
|
$csv->auto('_books.csv');
|
||||||
|
|
||||||
|
# ...or if you know the delimiter, set the delimiter character
|
||||||
|
# if its not the default comma...
|
||||||
|
// $csv->delimiter = "\t"; # tab delimited
|
||||||
|
|
||||||
|
# ...and then use the parse() function.
|
||||||
|
// $csv->parse('_books.csv');
|
||||||
|
|
||||||
|
# now we have data in $csv->data, at which point we can modify
|
||||||
|
# it to our hearts content, like removing the last item...
|
||||||
|
array_pop($csv->data);
|
||||||
|
|
||||||
|
# then we output the file to the browser as a downloadable file...
|
||||||
|
$csv->output('books.csv');
|
||||||
|
# ...when the first parameter is given and is not null, the
|
||||||
|
# output method will itself send the correct headers and the
|
||||||
|
# data to download the output as a CSV file. if it's not set
|
||||||
|
# or is set to null, output will only return the generated CSV
|
||||||
|
# output data, and will not output to the browser itself.
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -4,7 +4,7 @@ class parseCSV {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Class: parseCSV v0.4.1 beta
|
Class: parseCSV v0.4.2 beta
|
||||||
http://code.google.com/p/parsecsv-for-php/
|
http://code.google.com/p/parsecsv-for-php/
|
||||||
|
|
||||||
|
|
||||||
@@ -216,20 +216,19 @@ class parseCSV {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate CSV based string for output
|
* Generate CSV based string for output
|
||||||
* @param output if true, prints headers and strings to browser
|
* @param filename if specified, headers and data will be output directly to browser as a downloable file
|
||||||
* @param filename filename sent to browser in headers if output is true
|
|
||||||
* @param data 2D array with data
|
* @param data 2D array with data
|
||||||
* @param fields field names
|
* @param fields field names
|
||||||
* @param delimiter delimiter used to separate data
|
* @param delimiter delimiter used to separate data
|
||||||
* @return CSV data using delimiter of choice, or default
|
* @return CSV data using delimiter of choice, or default
|
||||||
*/
|
*/
|
||||||
function output ($output = true, $filename = null, $data = array(), $fields = array(), $delimiter = null) {
|
function output ($filename = null, $data = array(), $fields = array(), $delimiter = null) {
|
||||||
if ( empty($filename) ) $filename = $this->output_filename;
|
if ( empty($filename) ) $filename = $this->output_filename;
|
||||||
if ( $delimiter === null ) $delimiter = $this->output_delimiter;
|
if ( $delimiter === null ) $delimiter = $this->output_delimiter;
|
||||||
$data = $this->unparse($data, $fields, null, null, $delimiter);
|
$data = $this->unparse($data, $fields, null, null, $delimiter);
|
||||||
if ( $output ) {
|
if ( $filename !== null ) {
|
||||||
header('Content-type: application/csv');
|
header('Content-type: application/csv');
|
||||||
header('Content-Disposition: inline; filename="'.$filename.'"');
|
header('Content-Disposition: attachment; filename="'.$filename.'"');
|
||||||
echo $data;
|
echo $data;
|
||||||
}
|
}
|
||||||
return $data;
|
return $data;
|
||||||
|
|||||||
Reference in New Issue
Block a user