2011-03-17 15 views
26

Conozco fputcsv, pero de acuerdo con this "wontfix" bug fputcsv no escapa correctamente la entrada, y su comportamiento no se solucionará por razones de compatibilidad. Preferiría una implementación que cumpla con RFC 4180 para que Excel y LibreOffice puedan abrirla en todos los casos.¿Hay alguna biblioteca que pueda escribir un archivo CSV RFC 4180 con PHP?

he intentado buscando en Google para una biblioteca que hace esto correctamente, pero no parece haber consenso en una biblioteca decente terceros, en lugar comúnmente sugiere la fputcsv defectuoso. Siempre podría hacer mi propia versión, pero preferiría no reinventar la rueda si es posible.

Respuesta

19

Parece que todas las bibliotecas detuvieron el desarrollo en algún momento de 2008. No estoy seguro de qué pasa con eso. Aquí parecen ser las opciones más populares-ish:

No puedo responder por ninguno de estos. Resulta que vivo en una tierra mágica donde solo tengo que lidiar con archivos CSV generados por Excel que nunca, nunca contendrán nuevas líneas en un campo. Esto me permite salir con fgetcsv/fputcsv y ser felizmente ignorante de cómo están rotos en el mundo real.

+5

Acabo de jugar con algunas de estas bibliotecas y he descubierto que parseCSV muestra "con" "y agrega comillas en las entradas que contienen comas. PHP CSV Utils no hace estas cosas. ParseCSV también está contenido en un solo archivo, mientras que PHP CSV Utils está en varios archivos y no se incluye a sí mismo, por lo que necesita muchos require_onces en cualquier archivo que lo use. – perilandmishap

+0

parseCSV actualmente (septiembre de 2015) ha utilizado mucha memoria con archivos de gran tamaño (estoy hablando de 100MB +). Aparte de eso, es increíble. – amenthes

Cuestiones relacionadas