我使用的是MVC。这是我在模型中的功能:
public function saveImagenPerfil($data){
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
$table = $this->getTable();
$milliseconds = round(microtime(true) * 1000);
$foto = JRequest::getVar('imagen', null, 'files', 'array');
$data['imagen'] = $foto['name'];
$table->load($data['cid'][0]);
if ($data['imagen']!=""){
$this->saveImagen($data['cid'][0], $foto);
$table->set('imagen' , $data['imagen']);
}
if (!$table->check() or !$table->store()){
return 1; // no se puede guardar en base de datos
}
}
我需要在图像名称前面添加$milliseconds
,然后才能将其保存到文件夹和数据库中。我怎么能这样做?
如果您需要更多信息,我会尽量提供。
这是$foto
带回来的内容
array(5) { ["name"]=> string(12) "IMG_2233.JPG" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(26) "/var/zpanel/temp/phpGB5kUE" ["error"]=> int(0) ["size"]=> int(2737252) }
答案 0 :(得分:1)
在将整个$foto
数组传递给保存函数之前,必须覆盖文件名:
(注意:此答案由OP in chat发出请求):
public function saveImagenPerfil($data){
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
$table = $this->getTable();
$milliseconds = round(microtime(true) * 1000);
$foto = JRequest::getVar('imagen', null, 'files', 'array');
$data['imagen'] = $foto['name'];
$table->load($data['cid'][0]);
if ($data['imagen']!=""){
$foto['name'] = $milliseconds . $foto['name'];
$this->saveImagen($data['cid'][0], $foto);
$table->set('imagen' , $data['imagen']);
}
if (!$table->check() or !$table->store()){
return 1; // no se puede guardar en base de datos
}
}