fputcsv.phpt 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. --TEST--
  2. various fputcsv() functionality tests
  3. --FILE--
  4. <?php
  5. $list = array (
  6. 0 => 'aaa,bbb',
  7. 1 => 'aaa,"bbb"',
  8. 2 => '"aaa","bbb"',
  9. 3 => 'aaa,bbb',
  10. 4 => '"aaa",bbb',
  11. 5 => '"aaa", "bbb"',
  12. 6 => ',',
  13. 7 => 'aaa,',
  14. 8 => ',"aaa"',
  15. 9 => '"",""',
  16. 10 => '"""""",',
  17. 11 => '""""",aaa',
  18. 12 => 'aaa,bbb ',
  19. 13 => 'aaa,"bbb "',
  20. 14 => 'aaa"aaa","bbb"bbb',
  21. 15 => 'aaa"aaa""",bbb',
  22. 16 => 'aaa,"\\"bbb,ccc',
  23. 17 => 'aaa"\\"a","bbb"',
  24. 18 => '"\\"","aaa"',
  25. 19 => '"\\""",aaa',
  26. );
  27. $file = dirname(__FILE__) . 'fgetcsv.csv';
  28. @unlink($file);
  29. $fp = fopen($file, "w");
  30. foreach ($list as $v) {
  31. fputcsv($fp, explode(',', $v));
  32. }
  33. fclose($fp);
  34. $res = file($file);
  35. foreach($res as &$val)
  36. {
  37. $val = substr($val, 0, -1);
  38. }
  39. echo '$list = ';var_export($res);echo ";\n";
  40. $fp = fopen($file, "r");
  41. $res = array();
  42. while($l=fgetcsv($fp))
  43. {
  44. $res[] = join(',',$l);
  45. }
  46. fclose($fp);
  47. echo '$list = ';var_export($res);echo ";\n";
  48. @unlink($file);
  49. ?>
  50. ===DONE===
  51. <?php exit(0); ?>
  52. --EXPECT--
  53. $list = array (
  54. 0 => 'aaa,bbb',
  55. 1 => 'aaa,"""bbb"""',
  56. 2 => '"""aaa""","""bbb"""',
  57. 3 => 'aaa,bbb',
  58. 4 => '"""aaa""",bbb',
  59. 5 => '"""aaa"""," ""bbb"""',
  60. 6 => ',',
  61. 7 => 'aaa,',
  62. 8 => ',"""aaa"""',
  63. 9 => '"""""",""""""',
  64. 10 => '"""""""""""""",',
  65. 11 => '"""""""""""",aaa',
  66. 12 => 'aaa,"bbb "',
  67. 13 => 'aaa,"""bbb """',
  68. 14 => '"aaa""aaa""","""bbb""bbb"',
  69. 15 => '"aaa""aaa""""""",bbb',
  70. 16 => 'aaa,"""\\"bbb",ccc',
  71. 17 => '"aaa""\\"a""","""bbb"""',
  72. 18 => '"""\\"""","""aaa"""',
  73. 19 => '"""\\"""""",aaa',
  74. );
  75. $list = array (
  76. 0 => 'aaa,bbb',
  77. 1 => 'aaa,"bbb"',
  78. 2 => '"aaa","bbb"',
  79. 3 => 'aaa,bbb',
  80. 4 => '"aaa",bbb',
  81. 5 => '"aaa", "bbb"',
  82. 6 => ',',
  83. 7 => 'aaa,',
  84. 8 => ',"aaa"',
  85. 9 => '"",""',
  86. 10 => '"""""",',
  87. 11 => '""""",aaa',
  88. 12 => 'aaa,bbb ',
  89. 13 => 'aaa,"bbb "',
  90. 14 => 'aaa"aaa","bbb"bbb',
  91. 15 => 'aaa"aaa""",bbb',
  92. 16 => 'aaa,"\\"bbb,ccc',
  93. 17 => 'aaa"\\"a","bbb"',
  94. 18 => '"\\"","aaa"',
  95. 19 => '"\\""",aaa',
  96. );
  97. ===DONE===