Re: [PHP] string concatenation with fgets
aurfal...@gmail.com wrote: So here is my final test code, notice the check for ' ' in the if. Since I'm on Linux, this has to do with whats between the last LF and EOF which is nothing but this nothing will get printed out. $file = fopen(somefile.txt, r); while (! feof($file)) { $tmp = trim(fgets($file)); if ($tmp != '') { $names = $tmp; } print $names.sometext\n; } fclose($file); -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] string concatenation with fgets
Hi Shawn, Your code looks cleaner then mine so i tried it and got the last entry in the txt file printed twice. On Nov 30, 2009, at 7:07 AM, Shawn McKenzie wrote: aurfal...@gmail.com wrote: So here is my final test code, notice the check for ' ' in the if. Since I'm on Linux, this has to do with whats between the last LF and EOF which is nothing but this nothing will get printed out. $file = fopen(somefile.txt, r); while (! feof($file)) { $tmp = trim(fgets($file)); if ($tmp != '') { $names = $tmp; } print $names.sometext\n; } fclose($file); -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] string concatenation with fgets
On Mon, 2009-11-30 at 09:04 -0800, aurfal...@gmail.com wrote: Hi Shawn, Your code looks cleaner then mine so i tried it and got the last entry in the txt file printed twice. On Nov 30, 2009, at 7:07 AM, Shawn McKenzie wrote: aurfal...@gmail.com wrote: So here is my final test code, notice the check for ' ' in the if. Since I'm on Linux, this has to do with whats between the last LF and EOF which is nothing but this nothing will get printed out. $file = fopen(somefile.txt, r); while (! feof($file)) { $tmp = trim(fgets($file)); if ($tmp != '') { $names = $tmp; } print $names.sometext\n; } fclose($file); -- Thanks! -Shawn http://www.spidean.com Remove the if statement and just print out $tmp. The while loop is going over one extra time than you need, and on that final iteration, $tmp is an empty string. The if statement only changes $name if $tmp is empty, so it leaves it as it was, hence you getting the last line printed twice. Printing out an empty string in this example won't do anything, and the if statement is also pretty useless as it just copies the value to another variable on a condition that will only result in the side-effect you've noticed. Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] string concatenation with fgets
Hi Ash, Actually I need the if because the code will print out an empty line and add sometext to it. So without the if check for an empty line, at the end of the loop I'll get sometext. For example, if the file I am processing called somename.txt has a b c in it. I'll have; asometext bsometext csometext but w/o the if check, I'll also have sometext as well. On Nov 30, 2009, at 9:24 AM, Ashley Sheridan wrote: On Mon, 2009-11-30 at 09:04 -0800, aurfal...@gmail.com wrote: Hi Shawn, Your code looks cleaner then mine so i tried it and got the last entry in the txt file printed twice. On Nov 30, 2009, at 7:07 AM, Shawn McKenzie wrote: aurfal...@gmail.com wrote: So here is my final test code, notice the check for ' ' in the if. Since I'm on Linux, this has to do with whats between the last LF and EOF which is nothing but this nothing will get printed out. $file = fopen(somefile.txt, r); while (! feof($file)) { $tmp = trim(fgets($file)); if ($tmp != '') { $names = $tmp; } print $names.sometext\n; } fclose($file); -- Thanks! -Shawn http://www.spidean.com Remove the if statement and just print out $tmp. The while loop is going over one extra time than you need, and on that final iteration, $tmp is an empty string. The if statement only changes $name if $tmp is empty, so it leaves it as it was, hence you getting the last line printed twice. Printing out an empty string in this example won't do anything, and the if statement is also pretty useless as it just copies the value to another variable on a condition that will only result in the side-effect you've noticed. Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] string concatenation with fgets
On Mon, 2009-11-30 at 09:40 -0800, aurfal...@gmail.com wrote: Hi Ash, Actually I need the if because the code will print out an empty line and add sometext to it. So without the if check for an empty line, at the end of the loop I'll get sometext. For example, if the file I am processing called somename.txt has a b c in it. I'll have; asometext bsometext csometext but w/o the if check, I'll also have sometext as well. On Nov 30, 2009, at 9:24 AM, Ashley Sheridan wrote: On Mon, 2009-11-30 at 09:04 -0800, aurfal...@gmail.com wrote: Hi Shawn, Your code looks cleaner then mine so i tried it and got the last entry in the txt file printed twice. On Nov 30, 2009, at 7:07 AM, Shawn McKenzie wrote: aurfal...@gmail.com wrote: So here is my final test code, notice the check for ' ' in the if. Since I'm on Linux, this has to do with whats between the last LF and EOF which is nothing but this nothing will get printed out. $file = fopen(somefile.txt, r); while (! feof($file)) { $tmp = trim(fgets($file)); if ($tmp != '') { $names = $tmp; } print $names.sometext\n; } fclose($file); -- Thanks! -Shawn http://www.spidean.com Remove the if statement and just print out $tmp. The while loop is going over one extra time than you need, and on that final iteration, $tmp is an empty string. The if statement only changes $name if $tmp is empty, so it leaves it as it was, hence you getting the last line printed twice. Printing out an empty string in this example won't do anything, and the if statement is also pretty useless as it just copies the value to another variable on a condition that will only result in the side-effect you've noticed. Thanks, Ash http://www.ashleysheridan.co.uk Then put the print statement inside the if, not the assignation, otherwise you will always get that last line! Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] string concatenation with fgets
So here is my final test code, notice the check for ' ' in the if. Since I'm on Linux, this has to do with whats between the last LF and EOF which is nothing but this nothing will get printed out. $file = fopen(somefile.txt, r); while (! feof($file)) { $names = trim(fgets($file)); if ($names == '') { break; } print $names.sometext\n; } fclose($file); - aurf On Nov 24, 2009, at 5:52 PM, ryan wrote: Is this what you want $file = fopen(test.txt, r); while (!feof($file)) { $line = trim(fgets($file)); print $line.sometext\n; } fclose($file); outputs asometext bsometext csometext Ref to http://us3.php.net/manual/en/function.fgets.php. Reading ends when /length/ - 1 bytes have been read, on a newline (which is included in the return value), or on EOF (whichever comes first). If no length is specified, it will keep reading from the stream until it reaches the end of the line. aurfal...@gmail.com wrote: Hi all, I'm trying to append some text to what I read from a file. My code; $file = fopen(foo.txt, r); while (!feof($file)) { $line = fgets($file); print $line.sometext; } fclose($file); foo,txt; a b c d e f g And when I run the script, it looks like; a sometextb sometextc sometextd ... Any ideas? Thanks in advance, - aurf -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] string concatenation with fgets
Hi all, I'm trying to append some text to what I read from a file. My code; $file = fopen(foo.txt, r); while (!feof($file)) { $line = fgets($file); print $line.sometext; } fclose($file); foo,txt; a b c d e f g And when I run the script, it looks like; a sometextb sometextc sometextd ... Any ideas? Thanks in advance, - aurf -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] string concatenation with fgets
Is this what you want $file = fopen(test.txt, r); while (!feof($file)) { $line = trim(fgets($file)); print $line.sometext\n; } fclose($file); outputs asometext bsometext csometext Ref to http://us3.php.net/manual/en/function.fgets.php. Reading ends when /length/ - 1 bytes have been read, on a newline (which is included in the return value), or on EOF (whichever comes first). If no length is specified, it will keep reading from the stream until it reaches the end of the line. aurfal...@gmail.com wrote: Hi all, I'm trying to append some text to what I read from a file. My code; $file = fopen(foo.txt, r); while (!feof($file)) { $line = fgets($file); print $line.sometext; } fclose($file); foo,txt; a b c d e f g And when I run the script, it looks like; a sometextb sometextc sometextd ... Any ideas? Thanks in advance, - aurf -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] string concatenation with fgets
--- On Wed, 11/25/09, aurfal...@gmail.com aurfal...@gmail.com wrote: From: aurfal...@gmail.com aurfal...@gmail.com Subject: [PHP] string concatenation with fgets To: php-general@lists.php.net Date: Wednesday, November 25, 2009, 7:00 AM Hi all, I'm trying to append some text to what I read from a file. My code; $file = fopen(foo.txt, r); while (!feof($file)) { $line = fgets($file); print $line.sometext; } fclose($file); foo,txt; a b c d e f g And when I run the script, it looks like; a sometextb sometextc sometextd ... Any ideas? So, what output you actually wants from your program? Is it like this asometextbsometextcsometext.. or, like this asometext bsometext csometext --- নির্মাল্য লাহিড়ী [Nirmalya Lahiri] +৯১-৯৪৩৩১১৩৫৩৬ [+91-9433113536] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] string concatenation with fgets
On Nov 24, 2009, at 5:55 PM, Nirmalya Lahiri wrote: --- On Wed, 11/25/09, aurfal...@gmail.com aurfal...@gmail.com wrote: From: aurfal...@gmail.com aurfal...@gmail.com Subject: [PHP] string concatenation with fgets To: php-general@lists.php.net Date: Wednesday, November 25, 2009, 7:00 AM Hi all, I'm trying to append some text to what I read from a file. My code; $file = fopen(foo.txt, r); while (!feof($file)) { $line = fgets($file); print $line.sometext; } fclose($file); foo,txt; a b c d e f g And when I run the script, it looks like; a sometextb sometextc sometextd ... Any ideas? So, what output you actually wants from your program? Is it like this asometextbsometextcsometext.. or, like this asometext bsometext csometext Hi, Sorry, I was incomplete :) I would like; asometext bsometext csometext Basically, I would like to add whatever text to the end of what I find in the file. So if the file contains a b c I would like; asometext bsometext csometext... - aurf -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] string concatenation with fgets
On Nov 24, 2009, at 5:52 PM, ryan wrote: Is this what you want $file = fopen(test.txt, r); while (!feof($file)) { $line = trim(fgets($file)); print $line.sometext\n; } fclose($file); outputs asometext bsometext csometext Ref to http://us3.php.net/manual/en/function.fgets.php. Reading ends when /length/ - 1 bytes have been read, on a newline (which is included in the return value), or on EOF (whichever comes first). If no length is specified, it will keep reading from the stream until it reaches the end of the line. aurfal...@gmail.com wrote: Hi all, I'm trying to append some text to what I read from a file. My code; $file = fopen(foo.txt, r); while (!feof($file)) { $line = fgets($file); print $line.sometext; } fclose($file); foo,txt; a b c d e f g And when I run the script, it looks like; a sometextb sometextc sometextd ... Any ideas? Thanks in advance, - aurf OMG, very very cool, thanks Ryan. - aurf -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php