1<?php 2// +----------------------------------------------------------------------+ 3// | PHP Version 4 | 4// +----------------------------------------------------------------------+ 5// | Copyright (c) 1997-2004 The PHP Group | 6// +----------------------------------------------------------------------+ 7// | This source file is subject to version 3.0 of the PHP license, | 8// | that is bundled with this package in the file LICENSE, and is | 9// | available at through the world-wide-web at | 10// | http://www.php.net/license/3_0.txt. | 11// | If you did not receive a copy of the PHP license and are unable to | 12// | obtain it through the world-wide-web, please send a note to | 13// | license@php.net so we can mail you a copy immediately. | 14// +----------------------------------------------------------------------+ 15// | Authors: Aidan Lister <aidan@php.net> | 16// +----------------------------------------------------------------------+ 17// 18// $Id: fputcsv.php,v 1.2 2005/11/22 08:28:16 aidan Exp $ 19 20 21/** 22 * Replace fprintf() 23 * 24 * @category PHP 25 * @package PHP_Compat 26 * @link http://php.net/function.fprintf 27 * @author Twebb <twebb@boisecenter.com> 28 * @author Aidan Lister <aidan@php.net> 29 * @version $Revision: 1.2 $ 30 * @since PHP 5 31 * @require PHP 4.0.0 (user_error) 32 */ 33if (!function_exists('fputcsv')) { 34 function fputcsv($handle, $fields, $delimiter = ',', $enclosure = '"') 35 { 36 // Sanity Check 37 if (!is_resource($handle)) { 38 user_error('fputcsv() expects parameter 1 to be resource, ' . 39 gettype($handle) . ' given', E_USER_WARNING); 40 return false; 41 } 42 43 44 $str = ''; 45 foreach ($fields as $cell) { 46 $cell = str_replace($enclosure, $enclosure . $enclosure, $cell); 47 48 if (strchr($cell, $delimiter) !== false || 49 strchr($cell, $enclosure) !== false || 50 strchr($cell, "\n") !== false) { 51 52 $str .= $enclosure . $cell . $enclosure . $delimiter; 53 } else { 54 $str .= $cell . $delimiter; 55 } 56 } 57 58 fputs($handle, substr($str, 0, -1) . "\n"); 59 60 return strlen($str); 61 } 62} 63 64?>