2017-10-06 10 views
0

ファイル名を変更する必要のあるディレクトリには数千の画像があります。私はいくつかのオプションを探ってきたが、それらのどれも私のために働いていない。ファイル名の文字を変更するにはPHPを使用する方法

感謝を47308_new.jpgする47308_xyz_old.jpg:

私は 元から変更されたファイル名を持つようにしたいです。

+2

古い名前と新しい名前の違いがどうあるべきか – shashi

+1

これはかなり広く、SOはコード作成サービスではありません。あなたが試したコードと遭遇した問題を追加してください、そして私たちはあなたを助けることができます。 – Swellar

答えて

0
$files = scandir(__DIR__); 
foreach ($files as $file) { 
    if(file_exists($file)) 
    rename($file, str_replace("xyz_old", "new", $file)); 
}   

scandir()

rename()

+0

コードAZをありがとうございますが、残念ながら、ファイルは変更されません。私はリンクをたどったが、情報の大半は名前の変更、特殊文字の削除や追加、ディレクトリ移動の名前の変更が含まれている。 –

+0

ファイルとディレクトリは書き込み可能にする必要があります – AZinkey

+0

私はまだ運がない。上記コード –

0

これは、将来的に誰かを助けるかもしれない: 私はディレクトリ内のファイルの名前を変更するバッチのために働くために任意のPHPスクリプトを取得できませんでした、私はコマンドラインで行きました。私はファイルの数(実際には350K以上)も控えめなので、コマンドラインが最初の方がいいかもしれません。私はファイル名だけの小さな一部を変更するようだったとして、 変化 :47308_xyz_old.jpgは を47308_new.jpgするためにこれが私の解決策

cd /var/www/vhosts/YOURDIR 
Rename all *_old.jpg to new.jpg 
for f in *_old.jpg; do 
mv -- "$f" "${f%_old.jpg}new.jpg" 
done 

おかげでした

関連する問題