PHP Classes

File: csv.php

Recommend this page to a friend!
  Classes of Hannes Dorn   CCsv   csv.php   Download  
File: csv.php
Role: ???
Content type: text/plain
Description: CCsv Class File.
Class: CCsv
Author: By
Last change:
Date: 23 years ago
Size: 6,083 bytes
 

Contents

Class file image Download
<?php if ( !defined( "INCLUCDED_CSV" ) ) { define( "INCLUCDED_CSV", TRUE ); /* // $Archive: /iPage/V1.1/include/csv.php $ // $Author: Hannesd $ // $Date: 29.12.00 19:30 $ // $Revision: 2 $ // // $History: csv.php $ // // ***************** Version 2 ***************** // User: Hannesd Date: 29.12.00 Time: 19:30 // Updated in $/iPage/V1.1/include // // ***************** Version 1 ***************** // User: Hannesd Date: 29.12.00 Time: 19:30 // Created in $/iPage/V1.1/include // // Description: Class for Reading and Writing Arrays from/into CSV Files */ Class CCsv { /* Type: Constructor Description: Well, does nothing, just here Params: Nothing Return: Nothing */ Function CCsv() { } /* Type: Public Description: Writes a 3 dimensional Array into a CSV File Params: sFilename Filename, must be writeable aResult 3dim array fFieldnames Should fieldnames (aka array keys) written as first line? Return: true/false */ Function Write( $sFilename, $aResult, $fFieldnames = true ) { // Open File if ( !( $pFile = fopen( $sFilename, "w" ) ) ) return( false ); if ( is_array( $aResult ) ) { // Should Fieldnames be written? if ( $fFieldnames ) { $sBuffer = ""; while( list( $sKey, $sValue ) = each( $aResult[ 0 ] ) ) { if ( $sBuffer != "" ) $sBuffer .= ";"; // replace '"' with '""' $sKey = str_replace( '"', '""', $sKey ); // append to buffer $sBuffer = $sBuffer . '"' . $sKey . '"'; } if ( $sBuffer != "" ) $sBuffer .= "\n"; $iResult = fwrite( $pFile, $sBuffer ); if ( $iResult <> strlen( $sBuffer ) ) { fclose( $pFile ); return( false ); } } // Do something with all rows ;) while( list( $sKey, $aRow ) = each( $aResult ) ) { $sBuffer = ""; while( list( $sKey, $sValue ) = each( $aRow ) ) { if ( $sBuffer != "" ) $sBuffer .= ";"; // replace '"' with '""' $sKey = str_replace( '"', '""', $sValue ); // append to buffer $sBuffer = $sBuffer . '"' . $sValue . '"'; } if ( $sBuffer != "" ) $sBuffer .= "\n"; $iResult = fwrite( $pFile, $sBuffer ); if ( $iResult <> strlen( $sBuffer ) ) { fclose( $pFile ); return( false ); } } if ( !fclose( $pFile ) ) return( false ); } return( true ); } /* Type: Public Description: Reads a CSF File into a 3 dimensional Array Params: sFilename Filename, must be writeable fFieldnames Should fieldnames (aka array keys) written as first line? Return: a 3dim array */ Function Read( $sFilename, $fFieldnames = true ) { // Resultset löschen unset( $aResult ); // Datei komplett in eine Array einlesen $aText = file( $sFilename ); // Datei öffnen if ( is_array( $aText ) ) { if ( $fFieldnames ) { $sRow = $aText[ 0 ]; if ( substr( $sRow, -1 ) == "\n" ) $sRow = substr( $sRow, 0, -1 ); $aFieldnames = explode( ";", $sRow ); while( list( $sKey, $sValue ) = each( $aFieldnames ) ) { // Cut left '"' if ( substr( $sValue, 0, 1 ) == '"' ) $sValue = substr( $sValue, 1 ); // Cut right '"' if ( substr( $sValue, -1 ) == '"' ) $sValue = substr( $sValue, 0, -1 ); // replace '""' with '"' $sValue = str_replace( '""', '"', $sValue ); // Save new fieldname $aFieldnames[ $sKey ] = $sValue; } } // Do something to all rows... while( list( $sKey, $sRow ) = each( $aText ) ) { // Skip row with fieldnames if ( $fFieldnames && $sKey == 0 ) continue; if ( substr( $sRow, -1 ) == "\n" ) $sRow = substr( $sRow, 0, -1 ); $aValues = explode( ";", $sRow ); while( list( $sKey, $sValue ) = each( $aValues ) ) { // Cut left '"' if ( substr( $sValue, 0, 1 ) == '"' ) $sValue = substr( $sValue, 1 ); // Cut right '"' if ( substr( $sValue, -1 ) == '"' ) $sValue = substr( $sValue, 0, -1 ); // replace '""' with '"' $sValue = str_replace( '""', '"', $sValue ); // Should we use fieldnames? if ( $fFieldnames ) $sKey = $aFieldnames[ $sKey ]; // Save value in different array $aRow[ $sKey ] = $sValue; } $aResult[] = $aRow; } } return( $aResult ); } } } // if ( !INCLUCDED_DBCSV ) ?>