0

Hi,
i have query, i want to replace a string in text file. it should write correctly in specified line in the text file . whether it is possible.

my doubt is if i delete the line in the text file. it remains blank. it should not occupy the other rows. in that case how i should replace a string in specified location in the line.

help me.

thanks for your reply.

3
Contributors
6
Replies
7
Views
7 Years
Discussion Span
Last Post by mohane
0

Try something like this:

<?php
$line=82; //includes zero as 1.
$newdata='this is a test 123';
$data=file('path/to/file.txt');
$data[$line]=$newdata."\r\n";
$data=implode($data);
file_put_contents('path/to/output.txt',$data);
0

i'm new to this field,
so i don't have that much stuff.
i tell my status.

this is text my file.
example.(file.txt)
line1:119,mohan,male,2-01-1000,1-1-2001,5000,kovalam,chennai
line2:118,murugan,male,2-01-1000,1-1-2001,5000,madurei
line3:116,folo,male,2-01-1000,1-1-2001,1000232.
line4:117,rani,female,2-01-1000,1-1-2001,17000,

i want to change the line 3: to some new data.

$file ='\filetxt';
if(file_exists($file))
			  {
				  //Then you attempt to open the file, in this case for reading.
				  try{
					    $lines = count(file($file));  
						// $lines=$lines-1;
						// echo "There are $lines lines files<br/>";
						 
						if($openfile= fopen($file,"r+"))
							{
								while(!feof($openfile)) 
								{
									
									//for($i=0;$i<$lines;$i++)
									//{									
											$read= fgets($openfile);
											$row = explode(",", $read);
										 	//if($row[0]==$ap[0])
											$vv=$row[0];
											if($vv=='118')
										    {
												echo "the line$i" . $row[0];
						
												// for($j=0;$j<count($row);$j++)
												// {  $row[$j]='';
												 //}exit;
												  for($j=0;$j<count($row);$j++)
												 { 
													$dp[$j]=$ap[$j];
													unset($row[$j]);
												 }
												
												  $writestr = $dp[0] . "," . $dp[1] . ",". $dp[2] ."," . $dp[3] . "," . $dp[4] ."," . $dp[5] . "," . $dp[6] . "," . $dp[7] . "," . $dp[8] . "," . $dp[9]. "," . $dp[10] . ",". $dp[11] .".";
												  fwrite ($openfile, $writestr);
												  echo " successfully written your file";	 
												  exit;
								        	}
												 
									//}
											//echo"not compare";
										          
								}

							}
							else
							{
								//if it fail then throw exception
								throw new exception ("sorry , file could not be opened");
							}
				        
				     
					  fclose($openfile);   
					 }
					 catch(exception $e)
					 {
						 echo $e->getmessage();
						 
					 }
			  }
			  else
			  {
				  echo "File doesn't exists";
			  }

when i run the code.
output shown like this:
119,mohan,male,2-01-1000,1-1-2001,5000,kovalam,chennai,malasiya,singapore,9883763772,+91444423232.
118,murugan,male,2-01-1000,1-1-2001,5000,madurei,chennai,japan,singapore,9883763772,+91444423232.
118,folo,male,2-01-1000,1-1-2001,1000,,,,,,.oney,chennai,australia,singapore,9883763772,+91444423232.
117,rani,female,2-01-1000,1-1-2001,17000,cuddalore,chennai,us,europe,9883763772,+91444423232.32.

what's wrong in this code. i will do change in my code

help me................

thanks for reply.

Edited by nav33n: Please use [code][/code] tags to wrap your code for easy readability.

0

Could you tell me how you want to display your output? and what is $ap array in your script.

Edited by saiprem: n/a

0
1.
      <?php
   2.
      $line=82; //includes zero as 1.
   3.
      $newdata='this is a test 123';
   4.
      $data=file('path/to/file.txt');
   5.
      $data[$line]=$newdata."\r\n";
   6.
      $data=implode($data);
   7.
      file_put_contents('path/to/output.txt',$data);

i got the output >>

i 'didn't use file_put_contents it's work fine.

Edited by nav33n: Use [code][/code] tags.

0

Could you tell me how you want to display your output? and what is $ap array in your script.

$ap is replacing string i get in the array
there is nothing else.

0

Could you tell me how you want to display your output? and what is $ap array in your script.

could you help me to delete the line in the text file using php
just give guide lines

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.