PHP程序返回错误“非法字符串偏移量”

时间:2018-09-26 02:17:02

标签: php arrays

为什么此代码总是给我一个错误“非法字符串偏移'list_img'”?我在哪里弄错了?

$dir = scandir($route);
for ($img = 0; $img < count($dir); $img++) {
    if ($dir[$img] == "." || $dir[$img] == "..") {
        continue;
    }
    $type = pathinfo($route . '/' . $dir[$img], PATHINFO_EXTENSION);
    $data = file_get_contents($route . '/' . $dir[$img]);
    $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
    array_push($list_dir, ['title' => $dir[$img], 'code' => $base64]);
}
$data['list_img'] = $list_dir;

1 个答案:

答案 0 :(得分:0)

您的变量$ data是字符串(使用file_get_contents设置),因此,当您尝试设置$ data ['list_img']时,会收到错误消息。 您可以使用其他名称代替$ data或将其初始化为最后一行之前的数组:

$data = [];
$data['list_img'] = $list_dir

或者只是

$data = ['list_img' => $list_dir];