mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Implemented FR #53264 (Add fputcsv method to SplFileObject).
This commit is contained in:
parent
150a741fee
commit
6cb7ea4089
17 changed files with 6414 additions and 5 deletions
|
@ -309,6 +309,9 @@ UPGRADE NOTES - PHP X.Y
|
|||
- PDO_dblib
|
||||
- PDO::newRowset()
|
||||
|
||||
- SplFileObject
|
||||
- SplFileObject::fputcsv()
|
||||
|
||||
i. New class constants
|
||||
|
||||
-
|
||||
|
|
|
@ -2310,6 +2310,43 @@ SPL_METHOD(SplFileObject, fgetcsv)
|
|||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto int SplFileObject::fputcsv(array fields, [string delimiter [, string enclosure]])
|
||||
Output a field array as a CSV line */
|
||||
SPL_METHOD(SplFileObject, fputcsv)
|
||||
{
|
||||
spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
|
||||
char delimiter = intern->u.file.delimiter, enclosure = intern->u.file.enclosure, escape = intern->u.file.escape;
|
||||
char *delim = NULL, *enclo = NULL;
|
||||
int d_len = 0, e_len = 0, ret;
|
||||
zval *fields = NULL;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|ss", &fields, &delim, &d_len, &enclo, &e_len) == SUCCESS) {
|
||||
switch(ZEND_NUM_ARGS())
|
||||
{
|
||||
case 3:
|
||||
if (e_len != 1) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "enclosure must be a character");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
enclosure = enclo[0];
|
||||
/* no break */
|
||||
case 2:
|
||||
if (d_len != 1) {
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "delimiter must be a character");
|
||||
RETURN_FALSE;
|
||||
}
|
||||
delimiter = delim[0];
|
||||
/* no break */
|
||||
case 1:
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
ret = php_fputcsv(intern->u.file.stream, fields, delimiter, enclosure, escape TSRMLS_CC);
|
||||
RETURN_LONG(ret);
|
||||
}
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ proto void SplFileObject::setCsvControl([string delimiter = ',' [, string enclosure = '"' [, string escape = '\\']]])
|
||||
Set the delimiter and enclosure character used in fgetcsv */
|
||||
SPL_METHOD(SplFileObject, setCsvControl)
|
||||
|
@ -2585,6 +2622,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fgetcsv, 0, 0, 0)
|
|||
ZEND_ARG_INFO(0, enclosure)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_fputcsv, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, fields)
|
||||
ZEND_ARG_INFO(0, delimiter)
|
||||
ZEND_ARG_INFO(0, enclosure)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_file_object_flock, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, operation)
|
||||
ZEND_ARG_INFO(1, wouldblock)
|
||||
|
@ -2623,6 +2666,7 @@ static const zend_function_entry spl_SplFileObject_functions[] = {
|
|||
SPL_ME(SplFileObject, valid, arginfo_splfileinfo_void, ZEND_ACC_PUBLIC)
|
||||
SPL_ME(SplFileObject, fgets, arginfo_splfileinfo_void, ZEND_ACC_PUBLIC)
|
||||
SPL_ME(SplFileObject, fgetcsv, arginfo_file_object_fgetcsv, ZEND_ACC_PUBLIC)
|
||||
SPL_ME(SplFileObject, fputcsv, arginfo_file_object_fputcsv, ZEND_ACC_PUBLIC)
|
||||
SPL_ME(SplFileObject, setCsvControl, arginfo_file_object_fgetcsv, ZEND_ACC_PUBLIC)
|
||||
SPL_ME(SplFileObject, getCsvControl, arginfo_splfileinfo_void, ZEND_ACC_PUBLIC)
|
||||
SPL_ME(SplFileObject, flock, arginfo_file_object_flock, ZEND_ACC_PUBLIC)
|
||||
|
|
105
ext/spl/tests/SplFileObject_fputcsv.phpt
Normal file
105
ext/spl/tests/SplFileObject_fputcsv.phpt
Normal file
|
@ -0,0 +1,105 @@
|
|||
--TEST--
|
||||
SplFileObject::fputcsv(): functionality tests
|
||||
--FILE--
|
||||
<?php
|
||||
$file = 'SplFileObject::fputcsv.csv';
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
|
||||
$list = array (
|
||||
0 => 'aaa,bbb',
|
||||
1 => 'aaa,"bbb"',
|
||||
2 => '"aaa","bbb"',
|
||||
3 => 'aaa,bbb',
|
||||
4 => '"aaa",bbb',
|
||||
5 => '"aaa", "bbb"',
|
||||
6 => ',',
|
||||
7 => 'aaa,',
|
||||
8 => ',"aaa"',
|
||||
9 => '"",""',
|
||||
10 => '"""""",',
|
||||
11 => '""""",aaa',
|
||||
12 => 'aaa,bbb ',
|
||||
13 => 'aaa,"bbb "',
|
||||
14 => 'aaa"aaa","bbb"bbb',
|
||||
15 => 'aaa"aaa""",bbb',
|
||||
16 => 'aaa,"\\"bbb,ccc',
|
||||
17 => 'aaa"\\"a","bbb"',
|
||||
18 => '"\\"","aaa"',
|
||||
19 => '"\\""",aaa',
|
||||
);
|
||||
|
||||
foreach ($list as $v) {
|
||||
$fo->fputcsv(explode(',', $v));
|
||||
}
|
||||
unset($fo);
|
||||
|
||||
$res = file($file);
|
||||
foreach($res as &$val)
|
||||
{
|
||||
$val = substr($val, 0, -1);
|
||||
}
|
||||
echo '$list = ';var_export($res);echo ";\n";
|
||||
|
||||
$fp = fopen($file, "r");
|
||||
$res = array();
|
||||
while($l=fgetcsv($fp))
|
||||
{
|
||||
$res[] = join(',',$l);
|
||||
}
|
||||
fclose($fp);
|
||||
|
||||
echo '$list = ';var_export($res);echo ";\n";
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
<?php exit(0); ?>
|
||||
--CLEAN--
|
||||
<?php
|
||||
unlink($file);
|
||||
?>
|
||||
--EXPECT--
|
||||
$list = array (
|
||||
0 => 'aaa,bbb',
|
||||
1 => 'aaa,"""bbb"""',
|
||||
2 => '"""aaa""","""bbb"""',
|
||||
3 => 'aaa,bbb',
|
||||
4 => '"""aaa""",bbb',
|
||||
5 => '"""aaa"""," ""bbb"""',
|
||||
6 => ',',
|
||||
7 => 'aaa,',
|
||||
8 => ',"""aaa"""',
|
||||
9 => '"""""",""""""',
|
||||
10 => '"""""""""""""",',
|
||||
11 => '"""""""""""",aaa',
|
||||
12 => 'aaa,"bbb "',
|
||||
13 => 'aaa,"""bbb """',
|
||||
14 => '"aaa""aaa""","""bbb""bbb"',
|
||||
15 => '"aaa""aaa""""""",bbb',
|
||||
16 => 'aaa,"""\\"bbb",ccc',
|
||||
17 => '"aaa""\\"a""","""bbb"""',
|
||||
18 => '"""\\"""","""aaa"""',
|
||||
19 => '"""\\"""""",aaa',
|
||||
);
|
||||
$list = array (
|
||||
0 => 'aaa,bbb',
|
||||
1 => 'aaa,"bbb"',
|
||||
2 => '"aaa","bbb"',
|
||||
3 => 'aaa,bbb',
|
||||
4 => '"aaa",bbb',
|
||||
5 => '"aaa", "bbb"',
|
||||
6 => ',',
|
||||
7 => 'aaa,',
|
||||
8 => ',"aaa"',
|
||||
9 => '"",""',
|
||||
10 => '"""""",',
|
||||
11 => '""""",aaa',
|
||||
12 => 'aaa,bbb ',
|
||||
13 => 'aaa,"bbb "',
|
||||
14 => 'aaa"aaa","bbb"bbb',
|
||||
15 => 'aaa"aaa""",bbb',
|
||||
16 => 'aaa,"\\"bbb,ccc',
|
||||
17 => 'aaa"\\"a","bbb"',
|
||||
18 => '"\\"","aaa"',
|
||||
19 => '"\\""",aaa',
|
||||
);
|
||||
===DONE===
|
41
ext/spl/tests/SplFileObject_fputcsv_002.phpt
Normal file
41
ext/spl/tests/SplFileObject_fputcsv_002.phpt
Normal file
|
@ -0,0 +1,41 @@
|
|||
--TEST--
|
||||
SplFileObject::fputcsv(): Checking data after calling the function
|
||||
--FILE--
|
||||
<?php
|
||||
$fo = new SplFileObject('SplFileObject::fputcsv.csv', 'w');
|
||||
|
||||
$data = array(1, 2, 'foo', 'haha', array(4, 5, 6), 1.3, null);
|
||||
|
||||
$fo->fputcsv($data);
|
||||
|
||||
var_dump($data);
|
||||
?>
|
||||
--CLEAN--
|
||||
<?php
|
||||
unlink('SplFileObject::fputcsv.csv');
|
||||
?>
|
||||
--EXPECTF--
|
||||
Notice: Array to string conversion in %s on line %d
|
||||
array(7) {
|
||||
[0]=>
|
||||
int(1)
|
||||
[1]=>
|
||||
int(2)
|
||||
[2]=>
|
||||
string(3) "foo"
|
||||
[3]=>
|
||||
string(4) "haha"
|
||||
[4]=>
|
||||
array(3) {
|
||||
[0]=>
|
||||
int(4)
|
||||
[1]=>
|
||||
int(5)
|
||||
[2]=>
|
||||
int(6)
|
||||
}
|
||||
[5]=>
|
||||
float(1.3)
|
||||
[6]=>
|
||||
NULL
|
||||
}
|
30
ext/spl/tests/SplFileObject_fputcsv_error.phpt
Normal file
30
ext/spl/tests/SplFileObject_fputcsv_error.phpt
Normal file
|
@ -0,0 +1,30 @@
|
|||
--TEST--
|
||||
SplFileObject::fputcsv(): error conditions
|
||||
--FILE--
|
||||
<?php
|
||||
$fo = new SplFileObject('SplFileObject::fputcsv.csv', 'w');
|
||||
|
||||
echo "*** Testing error conditions ***\n";
|
||||
// zero argument
|
||||
echo "-- Testing fputcsv() with zero argument --\n";
|
||||
var_dump( $fo->fputcsv() );
|
||||
|
||||
// more than expected no. of args
|
||||
echo "-- Testing fputcsv() with more than expected number of arguments --\n";
|
||||
$fields = array("fld1", "fld2");
|
||||
$delim = ";";
|
||||
$enclosure ="\"";
|
||||
var_dump( $fo->fputcsv($fields, $delim, $enclosure, $fo) );
|
||||
|
||||
echo "Done\n";
|
||||
--EXPECTF--
|
||||
*** Testing error conditions ***
|
||||
-- Testing fputcsv() with zero argument --
|
||||
|
||||
Warning: SplFileObject::fputcsv() expects at least 1 parameter, 0 given in %s on line %d
|
||||
NULL
|
||||
-- Testing fputcsv() with more than expected number of arguments --
|
||||
|
||||
Warning: SplFileObject::fputcsv() expects at most 3 parameters, 4 given in %s on line %d
|
||||
NULL
|
||||
Done
|
826
ext/spl/tests/SplFileObject_fputcsv_variation1.phpt
Normal file
826
ext/spl/tests/SplFileObject_fputcsv_variation1.phpt
Normal file
|
@ -0,0 +1,826 @@
|
|||
--TEST--
|
||||
Test fputcsv() : usage variations - with all parameters specified
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/* Testing fputcsv() to write to a file when all its parameters are provided */
|
||||
|
||||
echo "*** Testing fputcsv() : with all parameters specified ***\n";
|
||||
|
||||
/* the array is with three elements in it. Each element should be read as
|
||||
1st element is delimiter, 2nd element is enclosure
|
||||
and 3rd element is csv fields
|
||||
*/
|
||||
$csv_lists = array (
|
||||
array(',', '"', array('water','fruit') ),
|
||||
array(',', '"', array('"water","fruit') ),
|
||||
array(',', '"', array('"water","fruit"') ),
|
||||
array(' ', '^', array('^water^ ^fruit^')),
|
||||
array(':', '&', array('&water&:&fruit&')),
|
||||
array('=', '=', array('=water===fruit=')),
|
||||
array('-', '-', array('-water--fruit-air')),
|
||||
array('-', '-', array('-water---fruit---air-')),
|
||||
array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
|
||||
|
||||
);
|
||||
$file_path = dirname(__FILE__);
|
||||
$file = "$file_path/fputcsv_variation1.tmp";
|
||||
|
||||
$file_modes = array ("r+", "r+b", "r+t",
|
||||
"a+", "a+b", "a+t",
|
||||
"w+", "w+b", "w+t",
|
||||
"x+", "x+b", "x+t");
|
||||
|
||||
$loop_counter = 1;
|
||||
foreach ($csv_lists as $csv_list) {
|
||||
for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
|
||||
|
||||
echo "\n-- file opened in $file_modes[$mode_counter] --\n";
|
||||
// create the file and add the content with has csv fields
|
||||
if ( strstr($file_modes[$mode_counter], "r") ) {
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
} else {
|
||||
$fo = new SplFileObject($file, $file_modes[$mode_counter]);
|
||||
}
|
||||
$delimiter = $csv_list[0];
|
||||
$enclosure = $csv_list[1];
|
||||
$csv_field = $csv_list[2];
|
||||
|
||||
|
||||
var_dump( $fo->fputcsv($csv_field, $delimiter, $enclosure) );
|
||||
// check the file pointer position and eof
|
||||
var_dump( $fo->ftell() );
|
||||
var_dump( $fo->eof() );
|
||||
//close the file
|
||||
unset($fo);
|
||||
|
||||
// print the file contents
|
||||
var_dump( file_get_contents($file) );
|
||||
|
||||
//delete file
|
||||
unlink($file);
|
||||
} //end of mode loop
|
||||
} // end of foreach
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with all parameters specified ***
|
||||
|
||||
-- file opened in r+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(%d) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(%d) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(%d) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(%d) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
Done
|
||||
|
327
ext/spl/tests/SplFileObject_fputcsv_variation10.phpt
Normal file
327
ext/spl/tests/SplFileObject_fputcsv_variation10.phpt
Normal file
|
@ -0,0 +1,327 @@
|
|||
--TEST--
|
||||
SplFileObject::fputcsv(): Usage variations -- with line without any CSV fields
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/* Testing fputcsv() to write to a file when the field has no CSV format */
|
||||
|
||||
echo "*** Testing fputcsv() : with no CSV format in the field ***\n";
|
||||
|
||||
/* the array is with three elements in it. Each element should be read as
|
||||
1st element is delimiter, 2nd element is enclosure
|
||||
and 3rd element is csv fields
|
||||
*/
|
||||
|
||||
$fields = array( array('water_fruit\n'),
|
||||
array("water_fruit\n"),
|
||||
array("")
|
||||
);
|
||||
|
||||
$file_path = dirname(__FILE__);
|
||||
$file = "$file_path/fputcsv_variation10.tmp";
|
||||
|
||||
$file_modes = array ("r+", "r+b", "r+t",
|
||||
"a+", "a+b", "a+t",
|
||||
"w+", "w+b", "w+t",
|
||||
"x+", "x+b", "x+t");
|
||||
|
||||
$loop_counter = 1;
|
||||
foreach ($fields as $field) {
|
||||
for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
|
||||
|
||||
echo "\n-- file opened in $file_modes[$mode_counter] --\n";
|
||||
// create the file and add the content with has csv fields
|
||||
if ( strstr($file_modes[$mode_counter], "r") ) {
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
} else {
|
||||
$fo = new SplFileObject($file, $file_modes[$mode_counter]);
|
||||
}
|
||||
$csv_field = $field;
|
||||
|
||||
// write to a file in csv format
|
||||
var_dump( $fo->fputcsv($csv_field) );
|
||||
|
||||
// check the file pointer position and eof
|
||||
var_dump( $fo->ftell() );
|
||||
var_dump( $fo->eof() );
|
||||
//close the file
|
||||
unset($fo);
|
||||
|
||||
// print the file contents
|
||||
var_dump( file_get_contents($file) );
|
||||
|
||||
//delete file
|
||||
unlink($file);
|
||||
} //end of mode loop
|
||||
} // end of foreach
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with no CSV format in the field ***
|
||||
|
||||
-- file opened in r+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) ""water_fruit\n"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(%d) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(%d) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(%d) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(%d) ""water_fruit
|
||||
"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(1) "
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(1) "
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(%d) "
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(1) "
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(1) "
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(%d) "
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(1) "
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(1) "
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(%d) "
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(1) "
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(1) "
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(1)
|
||||
int(1)
|
||||
bool(false)
|
||||
string(%d) "
|
||||
"
|
||||
Done
|
||||
|
826
ext/spl/tests/SplFileObject_fputcsv_variation11.phpt
Normal file
826
ext/spl/tests/SplFileObject_fputcsv_variation11.phpt
Normal file
|
@ -0,0 +1,826 @@
|
|||
--TEST--
|
||||
SplFileObject::fputcsv(): Usage variations -- with default enclosure value
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/* Testing fputcsv() to write to a file when default enclosure value is provided */
|
||||
|
||||
echo "*** Testing fputcsv() : with default enclosure value ***\n";
|
||||
|
||||
/* the array is with three elements in it. Each element should be read as
|
||||
1st element is delimiter, 2nd element is enclosure
|
||||
and 3rd element is csv fields
|
||||
*/
|
||||
$csv_lists = array (
|
||||
array(',', '"', array('water,fruit') ),
|
||||
array(',', '"', array('"water","fruit') ),
|
||||
array(',', '"', array('"water","fruit"') ),
|
||||
array(' ', '^', array('^water^ ^fruit^')),
|
||||
array(':', '&', array('&water&:&fruit&')),
|
||||
array('=', '=', array('=water===fruit=')),
|
||||
array('-', '-', array('-water--fruit-air')),
|
||||
array('-', '-', array('-water---fruit---air-')),
|
||||
array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
|
||||
|
||||
);
|
||||
$file_path = dirname(__FILE__);
|
||||
$file = "$file_path/fputcsv_variation11.tmp";
|
||||
|
||||
$file_modes = array ("r+", "r+b", "r+t",
|
||||
"a+", "a+b", "a+t",
|
||||
"w+", "w+b", "w+t",
|
||||
"x+", "x+b", "x+t");
|
||||
|
||||
$loop_counter = 1;
|
||||
foreach ($csv_lists as $csv_list) {
|
||||
for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
|
||||
|
||||
echo "\n-- file opened in $file_modes[$mode_counter] --\n";
|
||||
// create the file and add the content with has csv fields
|
||||
if ( strstr($file_modes[$mode_counter], "r") ) {
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
} else {
|
||||
$fo = new SplFileObject($file, $file_modes[$mode_counter]);
|
||||
}
|
||||
$delimiter = $csv_list[0];
|
||||
$enclosure = $csv_list[1];
|
||||
$csv_field = $csv_list[2];
|
||||
|
||||
// write to a file in csv format
|
||||
var_dump( $fo->fputcsv($csv_field, $delimiter) );
|
||||
// check the file pointer position and eof
|
||||
var_dump( $fo->ftell() );
|
||||
var_dump( $fo->eof() );
|
||||
//close the file
|
||||
unset($fo);
|
||||
|
||||
// print the file contents
|
||||
var_dump( file_get_contents($file) );
|
||||
|
||||
//delete file
|
||||
unlink($file);
|
||||
} //end of mode loop
|
||||
} // end of foreach
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with default enclosure value ***
|
||||
|
||||
-- file opened in r+ --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(%d) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(%d) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(%d) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(%d) ""water,fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""&water&:&fruit&"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""=water===fruit="
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) ""-water--fruit-air"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) ""-water---fruit---air-"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
Done
|
||||
|
827
ext/spl/tests/SplFileObject_fputcsv_variation12.phpt
Normal file
827
ext/spl/tests/SplFileObject_fputcsv_variation12.phpt
Normal file
|
@ -0,0 +1,827 @@
|
|||
--TEST--
|
||||
SplFileObject::fputcsv(): Usage variations -- with default enclosure and different delimiter
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/* Testing fputcsv() to write to a file when default enclosure value and delimiter value
|
||||
other than that in the field is provided */
|
||||
|
||||
echo "*** Testing fputcsv() : with default enclosure and different delimiter value ***\n";
|
||||
|
||||
/* the array is with three elements in it. Each element should be read as
|
||||
1st element is delimiter, 2nd element is enclosure
|
||||
and 3rd element is csv fields
|
||||
*/
|
||||
$csv_lists = array (
|
||||
array(',', '"', array('water,fruit') ),
|
||||
array(',', '"', array('"water","fruit') ),
|
||||
array(',', '"', array('"water","fruit"') ),
|
||||
array(' ', '^', array('^water^ ^fruit^')),
|
||||
array(':', '&', array('&water&:&fruit&')),
|
||||
array('=', '=', array('=water===fruit=')),
|
||||
array('-', '-', array('-water--fruit-air')),
|
||||
array('-', '-', array('-water---fruit---air-')),
|
||||
array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
|
||||
|
||||
);
|
||||
$file_path = dirname(__FILE__);
|
||||
$file = "$file_path/fputcsv_variation12.tmp";
|
||||
|
||||
$file_modes = array ("r+", "r+b", "r+t",
|
||||
"a+", "a+b", "a+t",
|
||||
"w+", "w+b", "w+t",
|
||||
"x+", "x+b", "x+t");
|
||||
|
||||
$loop_counter = 1;
|
||||
foreach ($csv_lists as $csv_list) {
|
||||
for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
|
||||
|
||||
echo "\n-- file opened in $file_modes[$mode_counter] --\n";
|
||||
// create the file and add the content with has csv fields
|
||||
if ( strstr($file_modes[$mode_counter], "r") ) {
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
} else {
|
||||
$fo = new SplFileObject($file, $file_modes[$mode_counter]);
|
||||
}
|
||||
$delimiter = $csv_list[0];
|
||||
$enclosure = $csv_list[1];
|
||||
$csv_field = $csv_list[2];
|
||||
|
||||
// write to a file in csv format
|
||||
var_dump( $fo->fputcsv($csv_field, '+') );
|
||||
// check the file pointer position and eof
|
||||
var_dump( $fo->ftell() );
|
||||
var_dump( $fo->eof() );
|
||||
//close the file
|
||||
unset($fo);
|
||||
|
||||
// print the file contents
|
||||
var_dump( file_get_contents($file) );
|
||||
|
||||
//delete file
|
||||
unlink($file);
|
||||
} //end of mode loop
|
||||
} // end of foreach
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with default enclosure and different delimiter value ***
|
||||
|
||||
-- file opened in r+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
Done
|
||||
|
28
ext/spl/tests/SplFileObject_fputcsv_variation13.phpt
Normal file
28
ext/spl/tests/SplFileObject_fputcsv_variation13.phpt
Normal file
|
@ -0,0 +1,28 @@
|
|||
--TEST--
|
||||
Test fputcsv() : usage variations - with default enclosure & delimiter of two chars
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/* Testing fputcsv() to write to a file when default enclosure value and delimiter
|
||||
of two chars is provided */
|
||||
|
||||
echo "*** Testing fputcsv() : with default enclosure & delimiter of two chars ***\n";
|
||||
|
||||
$fo = new SplFileObject('SplFileObject::fputcsv.csv', 'w');
|
||||
|
||||
var_dump($fo->fputcsv(array('water', 'fruit'), ',,', '"'));
|
||||
|
||||
unset($fo);
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--CLEAN--
|
||||
<?php
|
||||
unlink('SplFileObject::fputcsv.csv');
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with default enclosure & delimiter of two chars ***
|
||||
|
||||
Warning: SplFileObject::fputcsv(): delimiter must be a character in %s on line %d
|
||||
bool(false)
|
||||
Done
|
28
ext/spl/tests/SplFileObject_fputcsv_variation14.phpt
Normal file
28
ext/spl/tests/SplFileObject_fputcsv_variation14.phpt
Normal file
|
@ -0,0 +1,28 @@
|
|||
--TEST--
|
||||
Test fputcsv() : usage variations - with enclosure & delimiter of two chars
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/* Testing fputcsv() to write to a file when default enclosure value and delimiter
|
||||
of two chars is provided and file is opened in read only mode */
|
||||
|
||||
echo "*** Testing fputcsv() : with enclosure & delimiter of two chars and file opened in read mode ***\n";
|
||||
|
||||
$fo = new SplFileObject('SplFileObject::fputcsv.csv', 'w');
|
||||
|
||||
var_dump($fo->fputcsv(array('water', 'fruit'), ',,', '""'));
|
||||
|
||||
unset($fo);
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--CLEAN--
|
||||
<?php
|
||||
unlink('SplFileObject::fputcsv.csv');
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with enclosure & delimiter of two chars and file opened in read mode ***
|
||||
|
||||
Warning: SplFileObject::fputcsv(): enclosure must be a character in %s on line %d
|
||||
bool(false)
|
||||
Done
|
826
ext/spl/tests/SplFileObject_fputcsv_variation5.phpt
Normal file
826
ext/spl/tests/SplFileObject_fputcsv_variation5.phpt
Normal file
|
@ -0,0 +1,826 @@
|
|||
--TEST--
|
||||
Test fputcsv() : usage variations - with default arguments value
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/* Testing fputcsv() to write to a file when default arguments values are considered */
|
||||
|
||||
echo "*** Testing fputcsv() : with default arguments value ***\n";
|
||||
|
||||
/* the array is with three elements in it. Each element should be read as
|
||||
1st element is delimiter, 2nd element is enclosure
|
||||
and 3rd element is csv fields
|
||||
*/
|
||||
$csv_lists = array (
|
||||
array(',', '"', array('water','fruit') ),
|
||||
array(',', '"', array('"water","fruit') ),
|
||||
array(',', '"', array('"water","fruit"') ),
|
||||
array(' ', '^', array('^water^ ^fruit^')),
|
||||
array(':', '&', array('&water&:&fruit&')),
|
||||
array('=', '=', array('=water===fruit=')),
|
||||
array('-', '-', array('-water--fruit-air')),
|
||||
array('-', '-', array('-water---fruit---air-')),
|
||||
array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
|
||||
|
||||
);
|
||||
$file_path = dirname(__FILE__);
|
||||
$file = "$file_path/fputcsv_variation5.tmp";
|
||||
|
||||
$file_modes = array ("r+", "r+b", "r+t",
|
||||
"a+", "a+b", "a+t",
|
||||
"w+", "w+b", "w+t",
|
||||
"x+", "x+b", "x+t");
|
||||
|
||||
$loop_counter = 1;
|
||||
foreach ($csv_lists as $csv_list) {
|
||||
for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
|
||||
|
||||
echo "\n-- file opened in $file_modes[$mode_counter] --\n";
|
||||
// create the file and add the content with has csv fields
|
||||
if ( strstr($file_modes[$mode_counter], "r") ) {
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
} else {
|
||||
$fo = new SplFileObject($file, $file_modes[$mode_counter]);
|
||||
}
|
||||
$delimiter = $csv_list[0];
|
||||
$enclosure = $csv_list[1];
|
||||
$csv_field = $csv_list[2];
|
||||
|
||||
// write to a file in csv format
|
||||
var_dump( $fo->fputcsv($csv_field) );
|
||||
// check the file pointer position and eof
|
||||
var_dump( $fo->ftell() );
|
||||
var_dump( $fo->eof() );
|
||||
//close the file
|
||||
unset($fo);
|
||||
|
||||
// print the file contents
|
||||
var_dump( file_get_contents($file) );
|
||||
|
||||
//delete file
|
||||
unlink($file);
|
||||
} //end of mode loop
|
||||
} // end of foreach
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with default arguments value ***
|
||||
|
||||
-- file opened in r+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) ""^water^ ^fruit^"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) ""&""""""""&:&""&:,:"":&,&:,,,,"
|
||||
"
|
||||
Done
|
||||
|
829
ext/spl/tests/SplFileObject_fputcsv_variation6.phpt
Normal file
829
ext/spl/tests/SplFileObject_fputcsv_variation6.phpt
Normal file
|
@ -0,0 +1,829 @@
|
|||
--TEST--
|
||||
Test fputcsv() : usage variations - with different delimiter and enclosure
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/*
|
||||
Testing fputcsv() to write to a file when delimiter are different from those
|
||||
present in the field to be written to the file
|
||||
*/
|
||||
|
||||
echo "*** Testing fputcsv() : with different delimiter and enclosure ***\n";
|
||||
|
||||
/* the array is with three elements in it. Each element should be read as
|
||||
1st element is delimiter, 2nd element is enclosure
|
||||
and 3rd element is csv fields
|
||||
*/
|
||||
$csv_lists = array (
|
||||
array(',', '"', array('water,fruit') ),
|
||||
array(',', '"', array('"water","fruit') ),
|
||||
array(',', '"', array('"water","fruit"') ),
|
||||
array(' ', '^', array('^water^ ^fruit^')),
|
||||
array(':', '&', array('&water&:&fruit&')),
|
||||
array('=', '=', array('=water===fruit=')),
|
||||
array('-', '-', array('-water--fruit-air')),
|
||||
array('-', '-', array('-water---fruit---air-')),
|
||||
array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
|
||||
|
||||
);
|
||||
$file_path = dirname(__FILE__);
|
||||
$file = "$file_path/fputcsv_variation6.tmp";
|
||||
|
||||
$file_modes = array ("r+", "r+b", "r+t",
|
||||
"a+", "a+b", "a+t",
|
||||
"w+", "w+b", "w+t",
|
||||
"x+", "x+b", "x+t");
|
||||
|
||||
$loop_counter = 1;
|
||||
foreach ($csv_lists as $csv_list) {
|
||||
for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
|
||||
|
||||
echo "\n-- file opened in $file_modes[$mode_counter] --\n";
|
||||
// create the file and add the content with has csv fields
|
||||
if ( strstr($file_modes[$mode_counter], "r") ) {
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
} else {
|
||||
$fo = new SplFileObject($file, $file_modes[$mode_counter]);
|
||||
}
|
||||
$delimiter = $csv_list[0];
|
||||
$enclosure = $csv_list[1];
|
||||
$csv_field = $csv_list[2];
|
||||
|
||||
// write to a file in csv format
|
||||
var_dump( $fo->fputcsv($csv_field, '+', '%') );
|
||||
// check the file pointer position and eof
|
||||
var_dump( $fo->ftell() );
|
||||
var_dump( $fo->eof() );
|
||||
//close the file
|
||||
unset($fo);
|
||||
|
||||
// print the file contents
|
||||
var_dump( file_get_contents($file) );
|
||||
|
||||
//delete file
|
||||
unlink($file);
|
||||
} //end of mode loop
|
||||
} // end of foreach
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with different delimiter and enclosure ***
|
||||
|
||||
-- file opened in r+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water,fruit
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(%d) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(%d) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(%d) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(15) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(15)
|
||||
int(15)
|
||||
bool(false)
|
||||
string(%d) ""water","fruit
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) ""water","fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "%^water^ ^fruit^%
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "&water&:&fruit&
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(16) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(16)
|
||||
int(16)
|
||||
bool(false)
|
||||
string(%d) "=water===fruit=
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "-water--fruit-air
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "-water---fruit---air-
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "&""""&:&"&:,:":&,&:,,,,
|
||||
"
|
||||
Done
|
||||
|
829
ext/spl/tests/SplFileObject_fputcsv_variation7.phpt
Normal file
829
ext/spl/tests/SplFileObject_fputcsv_variation7.phpt
Normal file
|
@ -0,0 +1,829 @@
|
|||
--TEST--
|
||||
Test fputcsv() : usage variations - with different delimiter and same enclosure
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/*
|
||||
Testing fputcsv() to write to a file when enclosure is same but delimiter is different from those
|
||||
present in the field to be written to the file
|
||||
*/
|
||||
|
||||
echo "*** Testing fputcsv() : with different delimiter and same enclosure ***\n";
|
||||
|
||||
/* the array is with three elements in it. Each element should be read as
|
||||
1st element is delimiter, 2nd element is enclosure
|
||||
and 3rd element is csv fields
|
||||
*/
|
||||
$csv_lists = array (
|
||||
array(',', '"', array('water','fruit') ),
|
||||
array(',', '"', array('"water","fruit') ),
|
||||
array(',', '"', array('"water","fruit"') ),
|
||||
array(' ', '^', array('^water^ ^fruit^')),
|
||||
array(':', '&', array('&water&:&fruit&')),
|
||||
array('=', '=', array('=water===fruit=')),
|
||||
array('-', '-', array('-water--fruit-air')),
|
||||
array('-', '-', array('-water---fruit---air-')),
|
||||
array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
|
||||
|
||||
);
|
||||
$file_path = dirname(__FILE__);
|
||||
$file = "$file_path/fputcsv_variation7.tmp";
|
||||
|
||||
$file_modes = array ("r+", "r+b", "r+t",
|
||||
"a+", "a+b", "a+t",
|
||||
"w+", "w+b", "w+t",
|
||||
"x+", "x+b", "x+t");
|
||||
|
||||
$loop_counter = 1;
|
||||
foreach ($csv_lists as $csv_list) {
|
||||
for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
|
||||
|
||||
echo "\n-- file opened in $file_modes[$mode_counter] --\n";
|
||||
// create the file and add the content with has csv fields
|
||||
if ( strstr($file_modes[$mode_counter], "r") ) {
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
} else {
|
||||
$fo = new SplFileObject($file, $file_modes[$mode_counter]);
|
||||
}
|
||||
$delimiter = $csv_list[0];
|
||||
$enclosure = $csv_list[1];
|
||||
$csv_field = $csv_list[2];
|
||||
|
||||
// write to a file in csv format
|
||||
var_dump( $fo->fputcsv($csv_field, '+', $enclosure) );
|
||||
// check the file pointer position and eof
|
||||
var_dump( $fo->ftell() );
|
||||
var_dump( $fo->eof() );
|
||||
//close the file
|
||||
unset($fo);
|
||||
|
||||
// print the file contents
|
||||
var_dump( file_get_contents($file) );
|
||||
|
||||
//delete file
|
||||
unlink($file);
|
||||
} //end of mode loop
|
||||
} // end of foreach
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with different delimiter and same enclosure ***
|
||||
|
||||
-- file opened in r+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(12) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(12)
|
||||
int(12)
|
||||
bool(false)
|
||||
string(%d) "water+fruit
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) """"water"",""fruit"""
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "^^^water^^ ^^fruit^^^
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(22) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(22)
|
||||
int(22)
|
||||
bool(false)
|
||||
string(%d) "&&&water&&:&&fruit&&&
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(%d) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(%d) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(%d) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(23) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(23)
|
||||
int(23)
|
||||
bool(false)
|
||||
string(%d) "===water======fruit===
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "---water----fruit--air-
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "---water------fruit------air---
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(32) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(32)
|
||||
int(32)
|
||||
bool(false)
|
||||
string(%d) "&&&""""&&:&&"&&:,:":&&,&&:,,,,&
|
||||
"
|
||||
Done
|
||||
|
829
ext/spl/tests/SplFileObject_fputcsv_variation8.phpt
Normal file
829
ext/spl/tests/SplFileObject_fputcsv_variation8.phpt
Normal file
|
@ -0,0 +1,829 @@
|
|||
--TEST--
|
||||
Test fputcsv() : usage variations - with same delimiter and different enclosure
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
/*
|
||||
Testing fputcsv() to write to a file when delimiter is same but enclosure is different from those
|
||||
present in the field to be written to the file
|
||||
*/
|
||||
|
||||
echo "*** Testing fputcsv() : with same delimiter and different enclosure ***\n";
|
||||
|
||||
/* the array is with three elements in it. Each element should be read as
|
||||
1st element is delimiter, 2nd element is enclosure
|
||||
and 3rd element is csv fields
|
||||
*/
|
||||
$csv_lists = array (
|
||||
array(',', '"', array('water,fruit') ),
|
||||
array(',', '"', array('"water","fruit') ),
|
||||
array(',', '"', array('"water","fruit"') ),
|
||||
array(' ', '^', array('^water^ ^fruit^')),
|
||||
array(':', '&', array('&water&:&fruit&')),
|
||||
array('=', '=', array('=water===fruit=')),
|
||||
array('-', '-', array('-water--fruit-air')),
|
||||
array('-', '-', array('-water---fruit---air-')),
|
||||
array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
|
||||
|
||||
);
|
||||
$file_path = dirname(__FILE__);
|
||||
$file = "$file_path/fputcsv_variation8.tmp";
|
||||
|
||||
$file_modes = array ("r+", "r+b", "r+t",
|
||||
"a+", "a+b", "a+t",
|
||||
"w+", "w+b", "w+t",
|
||||
"x+", "x+b", "x+t");
|
||||
|
||||
$loop_counter = 1;
|
||||
foreach ($csv_lists as $csv_list) {
|
||||
for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
|
||||
|
||||
echo "\n-- file opened in $file_modes[$mode_counter] --\n";
|
||||
// create the file and add the content with has csv fields
|
||||
if ( strstr($file_modes[$mode_counter], "r") ) {
|
||||
$fo = new SplFileObject($file, 'w');
|
||||
} else {
|
||||
$fo = new SplFileObject($file, $file_modes[$mode_counter]);
|
||||
}
|
||||
$delimiter = $csv_list[0];
|
||||
$enclosure = $csv_list[1];
|
||||
$csv_field = $csv_list[2];
|
||||
|
||||
// write to a file in csv format
|
||||
var_dump( $fo->fputcsv($csv_field, $delimiter, '+') );
|
||||
// check the file pointer position and eof
|
||||
var_dump( $fo->ftell() );
|
||||
var_dump( $fo->eof() );
|
||||
//close the file
|
||||
unset($fo);
|
||||
|
||||
// print the file contents
|
||||
var_dump( file_get_contents($file) );
|
||||
|
||||
//delete file
|
||||
unlink($file);
|
||||
} //end of mode loop
|
||||
} // end of foreach
|
||||
|
||||
echo "Done\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
*** Testing fputcsv() : with same delimiter and different enclosure ***
|
||||
|
||||
-- file opened in r+ --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(%d) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(%d) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(%d) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(14) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(14)
|
||||
int(14)
|
||||
bool(false)
|
||||
string(%d) "+water,fruit+
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(17) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(17) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(%d) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(17) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(17) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(%d) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(17) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(17) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(%d) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(17) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(17) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(17)
|
||||
int(17)
|
||||
bool(false)
|
||||
string(%d) "+"water","fruit+
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+"water","fruit"+
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+^water^ ^fruit^+
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+&water&:&fruit&+
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(18) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(18)
|
||||
int(18)
|
||||
bool(false)
|
||||
string(%d) "+=water===fruit=+
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(20) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(20)
|
||||
int(20)
|
||||
bool(false)
|
||||
string(%d) "+-water--fruit-air+
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(24) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(24)
|
||||
int(24)
|
||||
bool(false)
|
||||
string(%d) "+-water---fruit---air-+
|
||||
"
|
||||
|
||||
-- file opened in r+ --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(26) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in r+b --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(26) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in r+t --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(%d) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in a+ --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(26) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in a+b --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(26) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in a+t --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(%d) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in w+ --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(26) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in w+b --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(26) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in w+t --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(%d) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in x+ --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(26) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in x+b --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(26) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
|
||||
-- file opened in x+t --
|
||||
int(26)
|
||||
int(26)
|
||||
bool(false)
|
||||
string(%d) "+&""""&:&"&:,:":&,&:,,,,+
|
||||
"
|
||||
Done
|
||||
|
|
@ -1845,13 +1845,10 @@ PHP_FUNCTION(fputcsv)
|
|||
char enclosure = '"'; /* allow this to be set as parameter */
|
||||
const char escape_char = '\\';
|
||||
php_stream *stream;
|
||||
zval *fp = NULL, *fields = NULL;
|
||||
int ret;
|
||||
zval *fp = NULL, *fields = NULL, **field_tmp = NULL, field;
|
||||
char *delimiter_str = NULL, *enclosure_str = NULL;
|
||||
int delimiter_str_len = 0, enclosure_str_len = 0;
|
||||
HashPosition pos;
|
||||
int count, i = 0;
|
||||
smart_str csvline = {0};
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ra|ss",
|
||||
&fp, &fields, &delimiter_str, &delimiter_str_len,
|
||||
|
@ -1885,6 +1882,19 @@ PHP_FUNCTION(fputcsv)
|
|||
|
||||
PHP_STREAM_TO_ZVAL(stream, &fp);
|
||||
|
||||
ret = php_fputcsv(stream, fields, delimiter, enclosure, escape_char TSRMLS_CC);
|
||||
RETURN_LONG(ret);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
/* {{{ PHPAPI int php_fputcsv(php_stream *stream, zval *fields, char delimiter, char enclosure, char escape_char TSRMLS_DC) */
|
||||
PHPAPI int php_fputcsv(php_stream *stream, zval *fields, char delimiter, char enclosure, char escape_char TSRMLS_DC)
|
||||
{
|
||||
int count, i = 0, ret;
|
||||
zval **field_tmp = NULL, field;
|
||||
smart_str csvline = {0};
|
||||
HashPosition pos;
|
||||
|
||||
count = zend_hash_num_elements(Z_ARRVAL_P(fields));
|
||||
zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(fields), &pos);
|
||||
while (zend_hash_get_current_data_ex(Z_ARRVAL_P(fields), (void **) &field_tmp, &pos) == SUCCESS) {
|
||||
|
@ -1950,7 +1960,7 @@ PHP_FUNCTION(fputcsv)
|
|||
|
||||
smart_str_free(&csvline);
|
||||
|
||||
RETURN_LONG(ret);
|
||||
return ret;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
|
|
@ -80,6 +80,7 @@ PHPAPI int php_copy_file_ctx(char *src, char *dest, int src_chk, php_stream_cont
|
|||
PHPAPI int php_mkdir_ex(char *dir, long mode, int options TSRMLS_DC);
|
||||
PHPAPI int php_mkdir(char *dir, long mode TSRMLS_DC);
|
||||
PHPAPI void php_fgetcsv(php_stream *stream, char delimiter, char enclosure, char escape_char, size_t buf_len, char *buf, zval *return_value TSRMLS_DC);
|
||||
PHPAPI int php_fputcsv(php_stream *stream, zval *fields, char delimiter, char enclosure, char escape_char TSRMLS_DC);
|
||||
|
||||
#define META_DEF_BUFSIZE 8192
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue