0

我正在从 RSS 提要中获取信息。

如何使用 php 更改文件名?

假设我有这个文件名:

http://anyurl.com/any_file_name_200.jpg

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

有任何想法吗?

4

4 回答 4

2

这取决于您所说的“始终相同的结构”是什么意思。

如果您的意思是 XXX.jpg(三位数字 +“.jpg”),那么您只需删除最后 7 个字符并用您想要的任何内容替换它们。有很多方法可以做到这一点,请查看 PhP 手册中与字符串相关的 PhP 函数。

如果您的意思是它总是以 _XXXXXXX.jpg (UNDESCORE + WHATEVER + ".jpg")explode()结尾,那么您可以将字符串重新制作到数组的最后一部分,然后替换它

于 2013-08-23T17:10:49.993 回答
2

您可以使用preg_replace

$filename = 'any_file_name_200.jpg';
$newFilename = preg_replace('/\d{3}\.jpg/','800.jpg',$filename);
于 2013-08-23T17:13:59.500 回答
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

于 2013-08-23T17:16:50.327 回答
0

您可以在 php 中使用 rename 功能,这是手册中的链接: PHP Manual

这是一个例子:

rename('sample.jpg' , 'sample2.jpg');
于 2013-08-23T17:20:51.547 回答