如何在保存之前将我的毫秒附加到我的图像名称?

时间:2014-03-18 16:13:08

标签: php image file save

我使用的是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) }

1 个答案:

答案 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
    }
}