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 (3 桁 + ".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 に答える