用php改变文件名

时间:2013-08-23 17:08:02

标签: php

我从RSS Feed中获取信息。

如何使用php更改文件名?

说我有这个文件名:

http://anyurl.com/any_file_name_200.jpg

我需要将它的最后一部分“200.jp”更改为另一个数字,比如“800.jpg”。我需要动态地执行此操作,因为“any_file_name”将始终不同,但所有文件名在结尾处具有相同的结构“123.jpg”

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

这取决于“总是相同的结构”是什么意思。

如果你的意思是XXX.jpg(三位数字+“.jpg”),那么你只需删除最后一个字符,然后用你想要的任何内容替换它们。 许多方法,检查PhP手册中与字符串相关的PhP功能。

如果你的意思是它总是以_XXXXXXX.jpg(UNDESCORE + WHATEVER +“.jpg”)结束,那么你可以explode()字符串,重新制作它直到数组的最后一部分,并替换它< / p>

答案 1 :(得分:2)

您可以使用preg_replace

$filename = 'any_file_name_200.jpg';
$newFilename = preg_replace('/\d{3}\.jpg/','800.jpg',$filename);

答案 2 :(得分:0)

要重命名服务器上的文件,请使用rename()功能(docs)。

示例:

#Prefix is everything before the number. 0 is the start, -7 counts from the end
$prefix = substr( $url, 0, -7 );

if( rename( $url, $prefix . '800.jpg' ) ) {
  #Yay! We renamed...
}

请参阅renamesubstr

答案 3 :(得分:0)

你可以在php中使用重命名功能,这里是手册中的链接: PHP Manual

这是一个例子:

rename('sample.jpg' , 'sample2.jpg');