deleting a line | | |
how do i delete from a text file 1 of the following lines:
jon|scott
adam|smith <--delete
paul|clark
say i would like to delete the middle line of this txt, in member.txt
what php code or logic would help me accomplish this?
Also i am clicking on a hyperlink that is keeping count of the entries
i have
made. e.g php?record_id =1
php?record_id =2 | | | | re: deleting a line
programming wrote: Quote:
say i would like to delete the middle line of this txt, in member.txt
what php code or logic would help me accomplish this?
For a small file:
1. Read member.txt into an array (the "file" function is
your friend);
2. Make the changes to the array (the "unset" function is
your friend);
3. Output the array to "member-new.txt";
4. Delete "member.txt";
5. Rename "member-new.txt" to "member.txt";
If the file is larger (more than say, 500 kB) this might become a bit
memory-hungry, and it's worth looking at iterating over each line of the
file individually rather than reading it all into memory at once.
--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact
Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
* = I'm getting there! | | | | re: deleting a line
Hi,
you need to open two streams, one for reading, one for writing.
Be wary by more than one request at a time!!! ( errors!)
there is no delete function couse a file is only a stream ;) | | | | re: deleting a line
programming wrote: Quote:
how do i delete from a text file 1 of the following lines:
>
>
jon|scott
adam|smith <--delete
paul|clark
>
say i would like to delete the middle line of this txt, in member.txt
what php code or logic would help me accomplish this?
>
Also i am clicking on a hyperlink that is keeping count of the entries
i have
made. e.g php?record_id =1
php?record_id =2
>
Or, better yet, learn to use a SQL database.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp. jstucklex@attglobal.net
================== | | | | re: deleting a line
On Apr 11, 10:57 pm, Jerry Stuckle <jstuck...@attglobal.netwrote: Quote:
programming wrote: Quote:
how do i delete from a text file 1 of the following lines:
> Quote:
jon|scott
adam|smith <--delete
paul|clark
> Quote:
say i would like to delete the middle line of this txt, in member.txt
what php code or logic would help me accomplish this?
> Quote:
Also i am clicking on a hyperlink that is keeping count of the entries
i have
made. e.g php?record_id =1
php?record_id =2
>
Or, better yet, learn to use a SQL database.
>
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@attglobal.net
==================
yes, but this assignment i am doing does not require that...the next
one will be using SQL | | | | re: deleting a line
On Apr 11, 7:08 pm, Toby A Inkster <usenet200...@tobyinkster.co.uk>
wrote: Quote:
programming wrote: Quote:
say i would like to delete the middle line of this txt, in member.txt
what php code or logic would help me accomplish this?
>
For a small file:
>
1. Read member.txt into an array (the "file" function is
your friend);
2. Make the changes to the array (the "unset" function is
your friend);
3. Output the array to "member-new.txt";
4. Delete "member.txt";
5. Rename "member-new.txt" to "member.txt";
>
If the file is larger (more than say, 500 kB) this might become a bit
memory-hungry, and it's worth looking at iterating over each line of the
file individually rather than reading it all into memory at once.
>
--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact
Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
>
* = I'm getting there!
Thanks for you steps, i had a go at doing it..is this what you meant
by any chance?
<?php
$line = file ("./member.txt", "w");
unset($line);
$line = fopen("./member-new.txt");
unlink("./member.txt")
rename("member-new.txt","member.txt");
fclose($line);
?>
I am getting a parse error, and i am not sure if i am doing this
right??
Parse error: syntax error, unexpected T_STRING in /volumes/data1/home/
pioannou/public_html/php/Assignment11/admin/delete_member.php on line
11 | | | | re: deleting a line
programming wrote: Quote:
On Apr 11, 10:57 pm, Jerry Stuckle <jstuck...@attglobal.netwrote: Quote:
>programming wrote: Quote:
>>how do i delete from a text file 1 of the following lines:
>>jon|scott
>>adam|smith <--delete
>>paul|clark
>>say i would like to delete the middle line of this txt, in member.txt
>>what php code or logic would help me accomplish this?
>>Also i am clicking on a hyperlink that is keeping count of the entries
>>i have
>>made. e.g php?record_id =1
>> php?record_id =2
>Or, better yet, learn to use a SQL database.
>>
>--
>==================
>Remove the "x" from my email address
>Jerry Stuckle
>JDS Computer Training Corp.
>jstuck...@attglobal.net
>==================
>
yes, but this assignment i am doing does not require that...the next
one will be using SQL
>
Ah, getting help with your homework...
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp. jstucklex@attglobal.net
================== | | | | re: deleting a line
On Apr 11, 11:20 pm, Jerry Stuckle <jstuck...@attglobal.netwrote: Quote:
programming wrote: Quote:
On Apr 11, 10:57 pm, Jerry Stuckle <jstuck...@attglobal.netwrote: Quote:
programming wrote:
>how do i delete from a text file 1 of the following lines:
>jon|scott
>adam|smith <--delete
>paul|clark
>say i would like to delete the middle line of this txt, in member.txt
>what php code or logic would help me accomplish this?
>Also i am clicking on a hyperlink that is keeping count of the entries
>i have
>made. e.g php?record_id =1
> php?record_id =2
Or, better yet, learn to use a SQL database.
> Quote: Quote:
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@attglobal.net
==================
> Quote:
yes, but this assignment i am doing does not require that...the next
one will be using SQL
>
Ah, getting help with your homework...
>
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@attglobal.net
==================
Yeah i am pleased with my progress with it so far, hopefully forums
can be a help as i progress | | | | re: deleting a line
programming wrote: Quote:
On Apr 11, 7:08 pm, Toby A Inkster <usenet200...@tobyinkster.co.uk>
wrote: Quote:
programming wrote: Quote:
say i would like to delete the middle line of this txt, in
member.txt what php code or logic would help me accomplish this?
For a small file:
1. Read member.txt into an array (the "file" function is
your friend);
2. Make the changes to the array (the "unset" function is
your friend);
3. Output the array to "member-new.txt";
4. Delete "member.txt";
5. Rename "member-new.txt" to "member.txt";
If the file is larger (more than say, 500 kB) this might become a
bit memory-hungry, and it's worth looking at iterating over each
line of the file individually rather than reading it all into
memory at once.
>
Thanks for you steps, i had a go at doing it..is this what you meant
by any chance?
>
<?php
>
$line = file ("./member.txt", "w");
unset($line);
>
$line = fopen("./member-new.txt");
>
unlink("./member.txt")
>
rename("member-new.txt","member.txt");
>
fclose($line);
>
>
?>
>
I am getting a parse error, and i am not sure if i am doing this
right??
>
Parse error: syntax error, unexpected T_STRING in /volumes/data1/home/
pioannou/public_html/php/Assignment11/admin/delete_member.php on line
11
The parse error itself comes from the missing semicolon on the line
with the unlink() function.
Second, you have placed the "w" parameter on the wrong function (on the
file() function instead of the fopen() function).
Thirdly, you're attempting to move/rename the new file BEFORE closing
the file handle for it. This could cause problems in terms of
locking/permissions.
Fourthly, you still haven't output the updated array to the new file
yet. Also, you're unsetting (deleting) the entire array instead of just
a single item.
After fixing the errors, the final source code snippet should look
something like this (with comments attached):
<?php
// Which line number (counting from 0) should we delete?
$line_to_delete = 4;
// Load the lines into an array; newlines are still attached
$lines = file ("./member.txt");
// Delete the line number from the array
unset($lines[$line_to_delete]);
// Open the new file for writing
$lines_update = fopen("./member-new.txt", "w");
// 1. Join the array to a single string (newlines are already attached)
// 2. Write the updated array to the new file
fwrite($lines_update, join("", $lines);
// Close the file handle to allow other operations on the file
fclose($lines_update);
// Remove the old file
unlink("./member.txt");
// Rename the new file to use the old filename, replacing the old file
rename("member-new.txt","member.txt");
?>
--
Kim André Akerø
- kimandre@NOSPAMbetadome.com
(remove NOSPAM to contact me directly) | | | | re: deleting a line
Kim André Akerø wrote: Quote:
// 1. Join the array to a single string (newlines are already attached)
// 2. Write the updated array to the new file
fwrite($lines_update, join("", $lines);
Missing a closing parenthesis here, but otherwise, yes, something like
this. Though personally I'd check the return value from fwrite() before
you go and do this: Quote:
// Remove the old file
unlink("./member.txt");
>
// Rename the new file to use the old filename, replacing the old file
rename("member-new.txt","member.txt");
--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact
Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
* = I'm getting there! | | | | re: deleting a line
On Apr 11, 10:56 pm, Kim André Akerø <kiman...@NOSPAMbetadome.com>
wrote: Quote:
programming wrote: Quote:
On Apr 11, 7:08 pm, Toby A Inkster <usenet200...@tobyinkster.co.uk>
wrote: Quote:
programming wrote:
say i would like to delete the middle line of this txt, in
member.txt what php code or logic would help me accomplish this?
> > Quote: Quote:
1. Read member.txt into an array (the "file" function is
your friend);
2. Make the changes to the array (the "unset" function is
your friend);
3. Output the array to "member-new.txt";
4. Delete "member.txt";
5. Rename "member-new.txt" to "member.txt";
> Quote: Quote:
If the file is larger (more than say, 500 kB) this might become a
bit memory-hungry, and it's worth looking at iterating over each
line of the file individually rather than reading it all into
memory at once.
> Quote:
Thanks for you steps, i had a go at doing it..is this what you meant
by any chance?
> > Quote:
$line = file ("./member.txt", "w");
unset($line);
> Quote:
$line = fopen("./member-new.txt");
> Quote:
unlink("./member.txt")
> Quote:
rename("member-new.txt","member.txt");
> > > Quote:
I am getting a parse error, and i am not sure if i am doing this
right??
> Quote:
Parse error: syntax error, unexpected T_STRING in /volumes/data1/home/
pioannou/public_html/php/Assignment11/admin/delete_member.php on line
11
>
The parse error itself comes from the missing semicolon on the line
with the unlink() function.
>
Second, you have placed the "w" parameter on the wrong function (on the
file() function instead of the fopen() function).
>
Thirdly, you're attempting to move/rename the new file BEFORE closing
the file handle for it. This could cause problems in terms of
locking/permissions.
>
Fourthly, you still haven't output the updated array to the new file
yet. Also, you're unsetting (deleting) the entire array instead of just
a single item.
>
After fixing the errors, the final source code snippet should look
something like this (with comments attached):
>
<?php
>
// Which line number (counting from 0) should we delete?
$line_to_delete = 4;
>
// Load the lines into an array; newlines are still attached
$lines = file ("./member.txt");
>
// Delete the line number from the array
unset($lines[$line_to_delete]);
>
// Open the new file for writing
$lines_update = fopen("./member-new.txt", "w");
>
// 1. Join the array to a single string (newlines are already attached)
// 2. Write the updated array to the new file
fwrite($lines_update, join("", $lines);
>
// Close the file handle to allow other operations on the file
fclose($lines_update);
>
// Remove the old file
unlink("./member.txt");
>
// Rename the new file to use the old filename, replacing the old file
rename("member-new.txt","member.txt");
>
?>
>
--
Kim André Akerø
- kiman...@NOSPAMbetadome.com
(remove NOSPAM to contact me directly)
this sounds good, but the only think i am confused about know is the
line_to_delete = 4;
is there any chance of matching the entry line from my web page to the
line
in the text file by using a superglobal to catch the value that needs
to be matched to the line in the file... | | | | re: deleting a line
"programming" <periklis.ioannou@gmail.comschreef in bericht
news:1176327375.195579.189940@d57g2000hsg.googlegr oups.com...
On Apr 11, 10:56 pm, Kim André Akerø <kiman...@NOSPAMbetadome.com>
wrote: Quote:
programming wrote: Quote:
On Apr 11, 7:08 pm, Toby A Inkster <usenet200...@tobyinkster.co.uk>
wrote: Quote:
programming wrote:
say i would like to delete the middle line of this txt, in
member.txt what php code or logic would help me accomplish this?
> > Quote: Quote:
1. Read member.txt into an array (the "file" function is
your friend);
2. Make the changes to the array (the "unset" function is
your friend);
3. Output the array to "member-new.txt";
4. Delete "member.txt";
5. Rename "member-new.txt" to "member.txt";
> Quote: Quote:
If the file is larger (more than say, 500 kB) this might become a
bit memory-hungry, and it's worth looking at iterating over each
line of the file individually rather than reading it all into
memory at once.
> Quote:
Thanks for you steps, i had a go at doing it..is this what you meant
by any chance?
> > Quote:
$line = file ("./member.txt", "w");
unset($line);
> Quote:
$line = fopen("./member-new.txt");
> Quote:
unlink("./member.txt")
> Quote:
rename("member-new.txt","member.txt");
> > > Quote:
I am getting a parse error, and i am not sure if i am doing this
right??
> Quote:
Parse error: syntax error, unexpected T_STRING in /volumes/data1/home/
pioannou/public_html/php/Assignment11/admin/delete_member.php on line
11
>
The parse error itself comes from the missing semicolon on the line
with the unlink() function.
>
Second, you have placed the "w" parameter on the wrong function (on the
file() function instead of the fopen() function).
>
Thirdly, you're attempting to move/rename the new file BEFORE closing
the file handle for it. This could cause problems in terms of
locking/permissions.
>
Fourthly, you still haven't output the updated array to the new file
yet. Also, you're unsetting (deleting) the entire array instead of just
a single item.
>
After fixing the errors, the final source code snippet should look
something like this (with comments attached):
>
<?php
>
// Which line number (counting from 0) should we delete?
$line_to_delete = 4;
>
// Load the lines into an array; newlines are still attached
$lines = file ("./member.txt");
>
// Delete the line number from the array
unset($lines[$line_to_delete]);
>
// Open the new file for writing
$lines_update = fopen("./member-new.txt", "w");
>
// 1. Join the array to a single string (newlines are already attached)
// 2. Write the updated array to the new file
fwrite($lines_update, join("", $lines);
>
// Close the file handle to allow other operations on the file
fclose($lines_update);
>
// Remove the old file
unlink("./member.txt");
>
// Rename the new file to use the old filename, replacing the old file
rename("member-new.txt","member.txt");
>
?>
>
--
Kim André Akerø
- kiman...@NOSPAMbetadome.com
(remove NOSPAM to contact me directly)
Quote:
this sounds good, but the only think i am confused about know is the
line_to_delete = 4;
is there any chance of matching the entry line from my web page to the
line
in the text file by using a superglobal to catch the value that needs
to be matched to the line in the file...
$line_to_delete = 'this is my test line.';
/*
// instead of:
unset($lines[$line_to_delete]);
// use:
*/
// deletes every occurence of the line, case insensitive
foreach($lines as $key =$value)
{
if(strtolower($value) == strtolower($line_to_delete))
{
unset($lines[$key]);
}
}
// or, deletes first occurence of the line, case insensitive
$found = false;
while (!$found && list($key, $value) = each ($lines)) {
if(strtolower($value) == strtolower($line_to_delete))
{
unset($lines[$key]);
$found = true;
}
} | | | | re: deleting a line
On Apr 12, 8:44 am, "amygdala" <nore...@noreply.comwrote: Quote:
"programming" <periklis.ioan...@gmail.comschreef in berichtnews:1176327375.195579.189940@d57g2000hsg.g ooglegroups.com...
On Apr 11, 10:56 pm, Kim André Akerø <kiman...@NOSPAMbetadome.com>
wrote:
>
>
> Quote:
programming wrote: Quote:
On Apr 11, 7:08 pm, Toby A Inkster <usenet200...@tobyinkster.co.uk>
wrote:
programming wrote:
say i would like to delete the middle line of this txt, in
member.txt what php code or logic would help me accomplish this?
> > Quote: Quote:
1. Read member.txt into an array (the "file" function is
your friend);
2. Make the changes to the array (the "unset" function is
your friend);
3. Output the array to "member-new.txt";
4. Delete "member.txt";
5. Rename "member-new.txt" to "member.txt";
> Quote: Quote:
If the file is larger (more than say, 500 kB) this might become a
bit memory-hungry, and it's worth looking at iterating over each
line of the file individually rather than reading it all into
memory at once.
> Quote: Quote:
Thanks for you steps, i had a go at doing it..is this what you meant
by any chance?
> > Quote: Quote:
$line = file ("./member.txt", "w");
unset($line);
> Quote: Quote:
$line = fopen("./member-new.txt");
> Quote: Quote:
unlink("./member.txt")
> Quote: Quote:
rename("member-new.txt","member.txt");
> > > Quote: Quote:
I am getting a parse error, and i am not sure if i am doing this
right??
> Quote: Quote:
Parse error: syntax error, unexpected T_STRING in /volumes/data1/home/
pioannou/public_html/php/Assignment11/admin/delete_member.php on line
11
> Quote:
The parse error itself comes from the missing semicolon on the line
with the unlink() function.
> Quote:
Second, you have placed the "w" parameter on the wrong function (on the
file() function instead of the fopen() function).
> Quote:
Thirdly, you're attempting to move/rename the new file BEFORE closing
the file handle for it. This could cause problems in terms of
locking/permissions.
> Quote:
Fourthly, you still haven't output the updated array to the new file
yet. Also, you're unsetting (deleting) the entire array instead of just
a single item.
> Quote:
After fixing the errors, the final source code snippet should look
something like this (with comments attached):
> > Quote:
// Which line number (counting from 0) should we delete?
$line_to_delete = 4;
> Quote:
// Load the lines into an array; newlines are still attached
$lines = file ("./member.txt");
> Quote:
// Delete the line number from the array
unset($lines[$line_to_delete]);
> Quote:
// Open the new file for writing
$lines_update = fopen("./member-new.txt", "w");
> Quote:
// 1. Join the array to a single string (newlines are already attached)
// 2. Write the updated array to the new file
fwrite($lines_update, join("", $lines);
> Quote:
// Close the file handle to allow other operations on the file
fclose($lines_update);
> Quote:
// Remove the old file
unlink("./member.txt");
> Quote:
// Rename the new file to use the old filename, replacing the old file
rename("member-new.txt","member.txt");
> > Quote:
--
Kim André Akerø
- kiman...@NOSPAMbetadome.com
(remove NOSPAM to contact me directly)
this sounds good, but the only think i am confused about know is the
line_to_delete = 4;
is there any chance of matching the entry line from my web page to the
line
in the text file by using a superglobal to catch the value that needs
to be matched to the line in the file...
>
$line_to_delete = 'this is my test line.';
>
/*
// instead of:
unset($lines[$line_to_delete]);
// use:
*/
>
// deletes every occurence of the line, case insensitive
foreach($lines as $key =$value)
{
if(strtolower($value) == strtolower($line_to_delete))
{
unset($lines[$key]);
}
>
}
>
// or, deletes first occurence of the line, case insensitive
$found = false;
while (!$found && list($key, $value) = each ($lines)) {
if(strtolower($value) == strtolower($line_to_delete))
{
unset($lines[$key]);
$found = true;
}
>
}
Thanks for the help. However, I am still having a little bit of
trouble with deleting a line from a txt
file. When i click on the hyper link that is matched to record?=
$count,
it still wont delete and append the details to the file...
here is the code that i am trying to implement. Are there any changes
i can make to this code to help me accomplish the task?
<?php
if(isset($_GET['record_id'])){
// Load the lines into an array; newlines are still attached
$line_to_delete = $_GET['record_id'];
$line=file("member.txt");
$found = false;
while(!$found && list($key, $value) = each($line)) {
if(strtolower($value) == strtolower($line_to_delete))
{
unset($line[$key]);
$found = true;
}
}
}
//Open the new file for writing
$lines_update = fopen("./member.txt", "w");
// 1. Join the array to a single string (newlines are already
attached)
// 2. Write the updated array to the new file
fwrite($lines_update, join("", $line));
// Close the file handle to allow other operations on the file
fclose($lines_update);
// Remove the old file
?>
Cheers,
Peri | | | | re: deleting a line
programming wrote: Quote:
while(!$found && list($key, $value) = each($line)) {
if(strtolower($value) == strtolower($line_to_delete))
{
unset($line[$key]);
$found = true;
}
}
Could be neater as:
while (list($key, $value) = each($line))
{
if (strtolower($value) == strtolower($line_to_delete))
{
unset($line[$key]);
break;
}
}
or even:
foreach ($line as $key=>$value)
{
if (strcasecmp($value, $line_to_delete)==0)
{
unset($line[$key])
break;
}
}
However, I think what you actually want might be:
foreach ($line as $linenumber=>$value)
{
if ($line_to_delete==$linenumber)
{
unset($line[$linenumber])
break;
}
}
--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact
Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
* = I'm getting there! |  | | | | Forums
Visit our community forums for general discussions and latest on Bytes
/bytes/about
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over 226,582 network members.
|