提问人:yohaneli 提问时间:10/16/2023 最后编辑:halferyohaneli 更新时间:10/16/2023 访问量:30
在 CodeIgniter4 应用中调整图像大小不执行任何操作
Resize image does nothing in a CodeIgniter4 app
问:
我正在做一个项目,我尝试创建一个功能来调整以前在表单中发送的图像的大小。
表单工作正常,我可以在视图上显示图像。
在一个小画廊中,有一些按钮,一个是删除按钮,另一个是用于调整大小的按钮。
在我的数据库中,我有一个属性是 isFront,一个布尔值。
我希望我的功能工作的方式是,如果 isFront = 1,我会调整大小,否则我会删除调整大小的图像,但首先我正在调整大小。
这是我的功能。
为了获得更多的上下文,在我的数据库中,“medias”是一个与“actualites”(法语中的新闻单词)链接的表格。
在“medias”表中,我保存了本地路径和网络路径。
为了获得我想保存调整大小的图像的文件夹,我想保留与原始图像相同的文件夹,并在图像的末尾(这样,我就不会迷失在代码中)。_min
所以我没有收到任何错误,但什么也没发生。
我不知道我的错误在哪里。
已安装 GD。
另外,我正在使用 CodeIgniter4、Wamp64、phpMyAdmin。
public function getHandleIsFront($id){
helper('url');
$media = $this->mediasModel->where('idMedia', $id)->first();
if($media) {
$pathLocal = $media['localPathMedia'];
$pathInfo = pathinfo($pathLocal);
$minFileName = $pathInfo['filename'] . "_min." . $pathInfo['extension'];
$minPath = $pathInfo['dirname'] . "\\" . $minFileName;
$idNews = $media['idNews'];
$tabIsFront = [
'isFront' => !$media['isFront']
];
$this->mediasModel->where('idMedia',$id)->set($tabIsFront)->update();
if($media['isFront'] == 1) {
try {
$image = \Config\Services::image()
->withFile($pathLocal)
->resize(350, 255.4, true, 'height')
->save($minPath);
} catch (\Exception $e) {
$errorMessage = $e->getMessage();
echo "Erreur lors du redimensionnement de l'image : $errorMessage";
}
}
} else {
return redirect()->to('/Admin/Adminhome');
}
return redirect()->to('/Admin/Medias/listMedias?id=' . $idNews);
}
我尝试了 & 没有 try catch,没有任何变化,我试图呼应路径,两者似乎都很好。
答: 暂无答案
评论