26

画像が存在する場合、アップロード時に画像のファイル名を変更しようとしています。たとえば、ファイル名がtest.jpg既に存在し、名前を変更したい場合test1.jpgなどtest2.jpgです。私が書いたコードを使用して、ファイル名をそのように変更しますtest1.jpgtest12.jpgこれを修正するためのアドバイスをいただければ幸いです。

PHP

$name = $_FILES['picture']['name'];
$actual_name = pathinfo($name,PATHINFO_FILENAME);
$extension = pathinfo($name, PATHINFO_EXTENSION);

$i = 1;
while(file_exists('tmp/'.$actual_name.".".$extension))
{           
    $actual_name = (string)$actual_name.$i;
    $name = $actual_name.".".$extension;
    $i++;
}
4

4 に答える 4

47

これは、あなたが望むことをするべきだと私が思うマイナーな変更です:

$actual_name = pathinfo($name,PATHINFO_FILENAME);
$original_name = $actual_name;
$extension = pathinfo($name, PATHINFO_EXTENSION);

$i = 1;
while(file_exists('tmp/'.$actual_name.".".$extension))
{           
    $actual_name = (string)$original_name.$i;
    $name = $actual_name.".".$extension;
    $i++;
}
于 2013-04-21T21:47:38.613 に答える