preserving blank space padding when using fgetcsv

From: Roger Spears (roger_at_bgnet.bgsu.edu)
Date: 12/03/03


Date: Wed, 03 Dec 2003 14:06:17 -0500
To: php-general@lists.php.net

Hello,

I've been researching this for most of the day and am unable to find an
answer.

I'm using fgetcsv to read a comma delimited file (Microsoft Excel CSV).
I'm trying to create a PHP application which will read a csv file line
by line, remove the commas and preserve the padding that is in each
column. That means if a column is a fixed length of 15 characters and
the actual text in that column is only 5 characters long, the
application will preserve the extra 10 blank spaces.

I'm able to open and read the csv using fgetcsv:
$handle = fopen ($filename, "r");
while ($mpt_line = fgetcsv ($handle, filesize ($filename), ","))
{
Then I check each member of that array to make sure it is the proper
length for that column:
if (strlen($mpt_line[0])<4)
     {
     str_pad($mpt_line[0], 4, " ", STR_PAD_RIGHT);
     }
When all of the length checks are finished I remove the commas and then
print out the finished product:
}
$no_commas = str_replace(",", "", $mpt_line);
print "aa/".$no_commas[0]."/aa";

For output all I get is the actual text and no blank space padding.
Meaning that if the field contains two characters of data it should
still appear 4 characters in length. I was hoping to achieve aa/hi /aa
instead all I get is aa/hi/aa.

Thanks,
Roger



Relevant Pages

  • Re: preserving blank space padding when using fgetcsv
    ... > I'm using fgetcsv to read a comma delimited file. ... > the actual text in that column is only 5 characters long, ... > When all of the length checks are finished I remove the commas and then ...
    (php.general)
  • Re: Excel e-mail list to netscape
    ... If you have other characters interferring, you can use Replace to remove them. ... If you have unwanted commas at the end, ... Use Ctrl+End to see where Excel thinks the data ends. ... with a space) the macro would help, and link to how to install and use a macro can be found at the top of the join.htm page ...
    (microsoft.public.excel.misc)
  • Re: File Editting
    ... than 254 characters because they do fit in a text field for the table. ... program still delimits on the commas. ... Dim strDIR ...
    (microsoft.public.scripting.vbscript)
  • Re: filter
    ... prefer the old Netscape Communicator news reader. ... trick is to look at the "Newsgroups: " header, and count commas. ... That is -- any number of characters after the space after the ':', ...
    (rec.crafts.metalworking)
  • Re: My Find and Replace methods are not working
    ... one or more spaces and one or more commas. ... the second case [A-Z]where it is just looking for one or more ... characters in the range A to Z and one or more spaces. ... > Doug Robbins - Word MVP wrote: ...
    (microsoft.public.word.vba.beginners)