在 CodeIgniter4 应用中调整图像大小不执行任何操作

Resize image does nothing in a CodeIgniter4 app

提问人:yohaneli 提问时间:10/16/2023 最后编辑:halferyohaneli 更新时间:10/16/2023 访问量:30

问:

我正在做一个项目,我尝试创建一个功能来调整以前在表单中发送的图像的大小。

表单工作正常,我可以在视图上显示图像。

在一个小画廊中,有一些按钮,一个是删除按钮,另一个是用于调整大小的按钮。

在我的数据库中,我有一个属性是 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,没有任何变化,我试图呼应路径,两者似乎都很好。

php gd 图像大小调整 codeigniter-4

评论

0赞 halfer 10/16/2023
您是否检查过PHP或Web服务器日志?
0赞 yohaneli 10/16/2023
我检查了apache_error.log和php_error_log,似乎没问题
0赞 halfer 10/16/2023
还行。那么,是否可以使用调试器,甚至只是文件写入语句来查看代码提前终止的位置?
0赞 halfer 10/16/2023
您是否有应用的本地副本,因此可以在生产环境之外运行/调试?
0赞 yohaneli 10/17/2023
不,我没有本地副本,也不使用调试器

答: 暂无答案