gpt4 book ai didi

php - 更改 mysql -joomla 中的文件名并存储在数据库中具有唯一的名称?

转载 作者:行者123 更新时间:2023-11-29 14:47:16 25 4
gpt4 key购买 nike

嗨 friend 们,这是我的保存代码 -> 仅当基于 id 插入成功时才上传图像

但是有一个问题,文件已移动到上传文件夹,但尚未在数据库中更新,如何更新数据库中上传的图像并更改上传图像的名称,使其唯一

就像mypic.jpg在上传后变成mypic90.jpg,然后用用户id更新到数据库。我希望我的问题可以帮助像我这样的其他人?

function save() {

$greeting = JRequest::get ( 'POST' );
$model = & $this->getModel ( 'greetings' );

$id = $model->saveGreeting ( $greeting );

if( !empty($id)){
$file = JRequest::getVar ( 'greeting_pic', null, 'files', 'array' );

jimport ( 'joomla.filesystem.file' );
$filename = JFile::makeSafe ( $file ['name'] );

//Set up the source and destination of the file
$src = $file ['tmp_name'];

//$dest = JPATH_ROOT . BI_IMAGE_BASE . "myfile.jpg<br>";
$dest = JPATH_COMPONENT . DS . "uploads" . DS . $filename;

JFile::upload ( $src, $dest );

// update the field greeting_pic //
//$result = $model->updateGreetingPic($filename, $id);
}

$redirectTo = JRoute::_ ( 'index.php?option=' . JRequest::getVar ( 'option' ) . '&task=display' );
$this->setRedirect ( $redirectTo, 'Greeting Saved!' );
}

最佳答案

将上传的文件重命名为问候语的唯一 ID,保留文件扩展名。这样您就可以避免文件名冲突:

$newFileName = $id . '.' .  strtolower( JFile::getExt( $fileName));
$dest = JPATH_COMPONENT . DS . "uploads" . DS . $newFileName;
$result = $model->updateGreetingPic($newFileName, $id);

会有90.jpg、91.png、92.gif等文件

关于php - 更改 mysql -joomla 中的文件名并存储在数据库中具有唯一的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6679405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com