В моем текущем проекте я использую плагин plupload с PHP и ImageMagick и его работоспособность - теперь моя следующая задача - переименовать загруженные файлы в нижнем регистре.Переименование загруженного файла с помощью ImageMagick
Чтобы переименовать эти файлы, я сначала сохраняю загруженное изображение во временной папке с расширением «.temp», чем перенося файл в основную папку, и там я пытаюсь выполнить переименование. В первый раз, когда функция выполняется, если нет соответствующего изображения, то она будет хранить ее отлично, но второй раз через нее не работает. Функция должна проверять существующее имя файла и хранить повторы с инкрементирующим индексом, то есть как image_1.jpg, image_2.jpg и т. Д., Но это означает, что он просто перезаписывает изображение, то есть image.jpg.
Вот отрывок из моего кода:
$filename = $this->input->post('filename');
$root = $_SERVER["DOCUMENT_ROOT"]."/uploads/";
$source_image = $root.'temp/'.$filename;
$image_name = explode(".",$filename);
rename($source_image, $source_image. '.temp');
copy($source_image.'.temp', $root.$filename.'.temp');
unlink($source_image.'.temp');
$exp_temp_img_slash = explode(".",$filename);
$rename_img_a = strtolower($exp_temp_img_slash[0]);
$rename_img_b = $exp_temp_img_slash[1];
if (file_exists($root.$rename_img_a .".".$rename_img_b)) {
$count=1;
while (file_exists($root. $rename_img_a ."_".$count. ".".$rename_img_b)) {
$count++;
$rename_img = strtolower($rename_img_a . '_' . $count . ".".$rename_img_b);
}
$renamed_image = $_SERVER["DOCUMENT_ROOT"]."/uploads/".$rename_img;
rename($root.$filename.".temp",$renamed_image);
} else {
$rename_img = strtolower($rename_img_a .".".$rename_img_b);
$renamed_image = $_SERVER["DOCUMENT_ROOT"]."/uploads/".$rename_img;
rename($root.$filename.".temp",$renamed_image);
}
Любая помощь будет оценена, спасибо.