我想重命名文件名与隐藏的额外形式字段后跟一个小的唯一的随机数,同时上传照片。文件名应该是这样的:hidden\u form\u field-random\u number.jpg=hello\u dj84lx.jpg我已经找到了解决方法,可以随意取名字等等,但不能用插入的形式。我试过使用示例中的$file->title,但没有成功。
e3bfsja21#
我设法解决了这个问题。首先,我将这个函数添加到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);
1条答案
按热度按时间e3bfsja21#
我设法解决了这个问题。
首先,我将这个函数添加到upload/server/php/index.php文件中
然后我编辑了uploadhandler.php文件。我添加了一个公共变量$mytitle并替换了以下代码:
用这个