【问题标题】:blueimp jquery file upload - rename filename with data input like titleblueimp jquery 文件上传 - 使用标题等数据输入重命名文件名
【发布时间】:2018-04-28 09:06:48
【问题描述】:

我想在上传照片时使用隐藏的附加表单字段后跟一个小的唯一随机数来重命名文件名。文件名应如下所示: hidden_​​form_field-random_number.jpg = hello_Dj84lx.jpg

我找到了随机命名等的解决方案,但不是插入表单。我尝试使用示例中的 $file->title 但没有成功。

【问题讨论】:

    标签: php mysql blueimp image-upload


    【解决方案1】:

    我设法解决了这个问题。

    首先我在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);
    

    【讨论】:

    • 可能有一个更清洁的解决方案,但它对我有用。 ;)
    猜你喜欢
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多