引言

一、使用uniqid()函数生成唯一文件名

<?php
$originalPath = 'path/to/your/image.jpg';
$newPath = 'path/to/your/new_image_name.jpg';

$baseName = pathinfo($originalPath, PATHINFO_FILENAME);
$extension = pathinfo($originalPath, PATHINFO_EXTENSION);

$newFileName = uniqid() . '.' . $extension;
$newFilePath = $baseName . '_' . $newFileName;

rename($originalPath, $newFilePath);
?>

二、使用md5()或sha1()函数生成哈希文件名

<?php
$originalPath = 'path/to/your/image.jpg';
$newPath = 'path/to/your/new_image_name.jpg';

$baseName = pathinfo($originalPath, PATHINFO_FILENAME);
$extension = pathinfo($originalPath, PATHINFO_EXTENSION);

$hash = md5_file($originalPath);
$newFileName = $hash . '.' . $extension;
$newFilePath = $baseName . '_' . $newFileName;

rename($originalPath, $newFilePath);
?>

三、使用时间戳生成文件名

<?php
$originalPath = 'path/to/your/image.jpg';
$newPath = 'path/to/your/new_image_name.jpg';

$baseName = pathinfo($originalPath, PATHINFO_FILENAME);
$extension = pathinfo($originalPath, PATHINFO_EXTENSION);

$newFileName = time() . '.' . $extension;
$newFilePath = $baseName . '_' . $newFileName;

rename($originalPath, $newFilePath);
?>

在这个例子中,我们使用time()函数获取当前的时间戳,并将其作为新文件名的一部分。由于时间戳是不断变化的,因此这种方法也能有效地避免文件名重复。

总结