调整大小时CodeIgniter中的数组到字符串转换

时间:2014-12-22 20:19:31

标签: php arrays string codeigniter

我正在为目录中的所有图片创建缩略图
在我的控制器中,我像这样从我的目录中检索所有文件。

$this->load->model('Home_model');

$this->load->helper('directory');

$dir = '../Mistletoe/Public/img/pics';

$AllImages = directory_map($dir);

$this->Home_model->resize($AllImages);

然后在我的模型中,我宣布了一个图像所在的路径。
在我的调整大小功能中,我用文件名加入我的路径 但后来我得到了错误:

PHP错误已经遇到

严重性:注意

消息:数组到字符串转换

文件名:models / home_model.php

行号:21



<?php
class Home_model extends CI_Model
{

var $images_path;
var $images_path_thumbs;
function Home_model()
{
    parent::__construct();
    $this->images_path = base_url() . 'public/img/pics/';
    $this->images_path_thumbs = base_url() . 'public/img/pics/thumbs/';

}

function resize($imagesToProcess)
{
    foreach ($imagesToProcess as $val) 
    {
        $config = array
        (
            'source_image' => $this->images_path . $val,
            'new_image' => $this->images_path_thumbs,
            'maintain_ration' => true,
            'width' => 300,
            'heigth' => 206,
        );

    $this->load->library('image_lib', $config);

    $this->image_lib->resize();
    }


}
}

1 个答案:

答案 0 :(得分:1)

基于此处的文档...

https://ellislab.com/codeigniter/user-guide/helpers/directory_helper.html

您的循环中的$val看起来有时可能是一个数组,代表一个子目录(例如,您在thumbs内有public/img/pics)。您可能希望将directory_map限制为仅1级:

$AllImages = directory_map($dir, 1);