Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

cách thoát dấu phân cách khỏi nội dung cột khi xuất csv

Chỉ cần sử dụng fputcsv nó đảm nhận việc thoát và tạo ra dữ liệu csv chính xác.

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>

Đầu ra:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Chỉnh sửa

Bạn luôn có thể sử dụng kết hợp tmpfile để mở một tệp sẽ tự động bị xóa khi kết thúc yêu cầu, hãy ghi vào tệp đó và sau đó sau khi báo cáo được tạo, hãy xuất nội dung của tệp đó với fread . Bạn phải sử dụng fread vì tmpfile trả về một tài nguyên, nếu không bạn có thể sử dụng tempnam + file_get_contents nhưng trong trường hợp đó, bạn phải mở tệp và dọn dẹp sau khi tự đọc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhiều khóa ngoại trong một bảng này sang một bảng khác trong mysql

  2. Đang cố gắng 'gọi' các thủ tục được lưu trữ bằng CodeIgniter

  3. MySQL GROUP BY hành vi

  4. PHP:Cập nhật trùng lặp truy vấn MySQL không có lý do

  5. Cách đổi tên bảng trong MySQL