Загрузка файла jimpery blueimp - переименуйте имя файла с вводом данных как заголовок - PullRequest
0 голосов
/ 28 апреля 2018

Я хотел бы переименовать имя файла со скрытым дополнительным полем формы, за которым следует небольшое уникальное случайное число при загрузке фотографии. Имя файла должно выглядеть следующим образом: hidden_form_field-random_number.jpg = hello_Dj84lx.jpg

Я нашел решения для случайных имен и т. Д., Но не со вставленной формой. Я пытался использовать $ file-> title из примеров, но безуспешно.

1 Ответ

0 голосов
/ 30 апреля 2018

Мне удалось решить проблему.

Сначала я добавил эту функцию в файл upload / server / php / index.php

protected function generate_unique_filename($filename = ""){
        $extension = "";
        if ( $filename != "" ){
            $extension = pathinfo($filename , PATHINFO_EXTENSION);
            if ( $extension != "" ){
                $extension = "." . $extension;
            }
        }           
        $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $charactersLength = strlen($characters);
        $randomString = "";
        for ($i = 0; $i < 5 ; $i++) {
            $randomString .= $characters[rand(0, $charactersLength - 1)];
        }
        return $filename.'_'.date('siHdmy').$randomString.$extension;
}

Затем я отредактировал файл UploadHandler.php. Я добавил общедоступную переменную $ mytitle и заменил этот код:

$file->name = $this->get_file_name($uploaded_file, $name, $size, $type, $error, $index, $content_range);

с этим

$this->mytitle='what-ever-text-filled-in-the-title-form-field';
$file->name = $this->generate_unique_filename($this->mytitle);
...