search
HomeBackend DevelopmentPHP ProblemHow to delete any line in a file in php?

How to delete any line in a file in php?

Jul 10, 2020 am 10:49 AM
phpDelete Files

How to delete any line in a file in php: first read the file into the array line by line; then traverse the array and add the value of each element of the array to the string to be saved; then when processing the corresponding The array element of the deleted row is not read in; just save the file at the end.

How to delete any line in a file in php?

php method to delete any line in the file:

Implementation ideas:

Read the file into the array line by line, then traverse the array and add the value of each element of the array to the string to be saved. When the array element corresponding to the line to be deleted is processed, it is not read. It,finally saves the file.

Implementation method:

$num=2; //要删除的行序号 
$fp=file("test.txt"); $total=count($fp); //取得文件总行数 
foreach ($fp as $line) { //按行分解内容并 
$tmp[]=$line; //逐行写入数组 } 
for($i=0;$i<$total;$i++){ 
//若$i的值不等于要删除的行序号 if($i<>$num) 
$savestr.=$tmp[$i]; } //写入文件 
$fp=fopen("test.txt","w"); 
fwrite($fp,$savestr); 
fclose($fp);

Execute the above PHP program, it will delete the third line of the test.txt file. The line sequence number of the file starts from 0, not from 1 as we usually understand, which is the same as the subscript number of the array element.

There is a problem that needs to be clarified, which is the so-called concept of "line". Let us use Notepad to write a file. After a line is finished, we press Enter or do not type. After saving the file, the file will have one line; if we type a line and then press Enter and then type another line, the file will have two lines after saving. OK.

In Notepad, when we set the format to "Automatic Wrap", a line of text will automatically wrap when it reaches the right end, but it is not two lines, it is still just one line. In Notepad, no matter how much text there is, and whether the format is "auto-wrap" or not, if there is no carriage return character, it can only be one line. In other words, the line mark is the carriage return character (noted as "\r\n" in PHP).

By modifying the above program, we can also easily delete all empty lines in the file (lines with only spaces and carriage returns or only carriage returns): use ## when traversing the array and reading in the saved string. #trimDetect each array element

for($i=0;$i<$total;$i++){ if(trim($tmp[$i])<>"") $savestr.=$tmp[$i]; }

This program will delete all blank lines in the file, but if the last line of the file is a blank line, it will clear its whitespace characters (if any) Then reserve a carriage return character (which is used as a pointer to the end of the file).

Related learning recommendations:

PHP programming from entry to proficiency

The above is the detailed content of How to delete any line in a file in php?. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools