使用php删除txt文件一行一行使用php

使用php删除txt文件一行一行使用php

问题描述:

删除txt文件一行一行地使用php?具有TXT文件中像这样使用php删除txt文件一行一行使用php

.../path/ffdfygfftg_230x260.jpeg 
.../path/ttttoooooop_125x340.png 
.../path/pppppppffd_450x440.gif 

我有70.000这条线链接图像..但这个TUMBNAIL大小...

正常大小链接

.../path/ggdfghfdf.jpeg 

所以我要寻找一个打开文本文件,逐行读取并从(_)值中删除开始,同时也删除点之前结束点(。)

posible using php?

+0

有很多的选项,如使用正则表达式或子 – Pooya

+0

http://*.com/这些问题/ 13246597 /如何读取一个文件行中的行,然后使用'unset('该文件的完整路径')。' –

+0

这个问题已经解决了吗?我不太明白你想在这里做什么?你想要删除什么?每个路径的号码是多少? – Rizier123

这将删除最后一个下划线之间的所有内容。

$filename = '.../path/ffdfygfftg_230x260.jpeg'; 
$new_filename = preg_replace('/_[^_.]*\./', '.', $filename); 
echo $new_filename; 

输出

.../path/ffdfygfftg.jpeg 
+0

如何打开file.txt,删除它,并将其切断file.txt,该链接位于一个txt文件中 – vallez

根据使用多少内存的问题,下面的片段是改变在文本文件中的每一行的简单方法。这种方法的缺点是整个文本文件在被修改之前会被加载到内存中。

$filecontents = file_get_contents('/path/to/file.txt'); //Load the file contents 
    $newcontent = preg_replace('/(_)(.*)(\.)(.*)/' '.${4}', $filecontents); //Use a regular expression to alter the file contents. The replacement (.${4}) adds the . and the file extension back into the line. 
    file_put_contents('/path/to/file.txt', $newcontent); 

为了让更多的内存效率,窥视fgets()功能,并且具有相同的正则表达式应用它

+0

(。$ {4})的功能是什么? – vallez

+0

您是否阅读过使用该行的评论?它在那里解释。这个。只是一个点。 $ {4}是正则表达式中的第4个匹配项(所以文件扩展名)。因此,这增加了。 重新排队。 – Kontsnor

+0

所有文件扩展名,如.png,jpg,gif,jpeg等? – vallez