2012-04-27 3 views
-1

В моем текущем проекте я использую плагин 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); 
    } 

Любая помощь будет оценена, спасибо.

ответ

0
shell_exec($imagemagick_folder."convert ".$from . $fileName." -resize ".$width."x".$height." -quality 95 ".$to.$fileName); 

$ imagemagick_folder папка, в которой установлен ImageMagick (например, C:. \ ImageMagick)

$ от и $ до являются начало и папка назначения

$ ширина и $ высота если вы хотите изменить размер изображения

Смежные вопросы