ファイルをパス ($old_path) から別のパス ($new_path) に移動する必要があります。
ファイルを $new_path に移動する前に、同じ 'filename.ext' を持つファイルが既に存在するかどうかを確認する必要があります。
そうでない場合は、ファイルを $old_path から $new_path に移動するか、同じ名前のファイルがあり、最初に新しいファイルの名前を 1_ に変更したいので、新しいファイルは ' 1_ファイル名.ext'
次に、別のファイルを受け取り、$new_path に「filename.ext」が存在するかどうかを再度確認します。
もう一度ファイルの名前を変更する必要がありますが、今回は「1_filename.ext」に名前を変更できません。この名前のファイルが既に存在するためです。
私がやりたいことを念頭に置いて、新しいファイル名を自動的に作成し、毎回、プレフィックスの最後の filename.ext + 1 を生成するにはどうすればよいですか?
$new-path が空の場合、最初のファイルは filename.ext になります
2 回目は、新しいファイルの名前を (自動的に) 1_filename.ext に変更します。
3 回目は、新しいファイルの名前を (自動的に) 2_filename.ext に変更します。
等々 ...
あなたのアドバイスを探しています。
PS FuelPHP 用の何かがあれば、それは素晴らしいでしょう。
それは私が今までやったことです:
$fresh_files = File::read_dir(DOCROOT . DS . 'opta_archive');
foreach ($fresh_files as $fresh_file)
{
$file_name = basename($fresh_file, '.xml');
if (file_exists(DOCROOT.DS.'fantomic_archive'.DS.$file_name))
{
//create a new unique name for the new file
//and then move it in our archive folder
}
else
{
//move the file in our archive folder
File::rename(DOCROOT.DS.'opta_archive'.DS.$fresh_file, DOCROOT.DS.'fantomic_archive'.DS.$fresh_file);
}
}