我从RSS Feed中获取信息。
如何使用php更改文件名?
说我有这个文件名:
http://anyurl.com/any_file_name_200.jpg
我需要将它的最后一部分“200.jp”更改为另一个数字,比如“800.jpg”。我需要动态地执行此操作,因为“any_file_name”将始终不同,但所有文件名在结尾处具有相同的结构“123.jpg”
有什么想法吗?
答案 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...
}
答案 3 :(得分:0)