Php 如何修复:注意:当我尝试基于数组压缩图像时,数组到字符串的转换错误

Php 如何修复:注意:当我尝试基于数组压缩图像时,数组到字符串的转换错误,php,Php,嗨,我需要我的代码的帮助。我试图在一个数组上压缩图像,但我收到了一个名为“注意:数组到字符串的转换”的错误,我不知道如何解决它,我想var$位置可能是问题所在 我附上了我的代码,有问题的行是: $location=$地毯。$\u文件['imagen']['name'] <?php /*CREATE A FOLDER TO INSERT THE IMAGES*/ $carpeta = "../img/posts/".$tipo_post."/".$fecha_post." - ".$en

嗨,我需要我的代码的帮助。我试图在一个数组上压缩图像,但我收到了一个名为“注意:数组到字符串的转换”的错误,我不知道如何解决它,我想var$位置可能是问题所在

我附上了我的代码,有问题的行是:

$location=$地毯。$\u文件['imagen']['name']

<?php

/*CREATE A FOLDER TO INSERT THE IMAGES*/

$carpeta = "../img/posts/".$tipo_post."/".$fecha_post." - ".$encabezado_post."/";
$carpeta_bd = "img/posts/".$tipo_post."/".$fecha_post." - ".$encabezado_post."/";

if (!file_exists($carpeta)) {
    mkdir($carpeta, 0777, true);
}

/*IT'S TIME TO INSERT THE IMAGES*/

$imagenes_a_contar = $_FILES['imagen']['name']; //COUNTING IMAGES
$contador_imagenes = count($imagenes_a_contar);

for ($i = 0; $i < ($contador_imagenes); ++$i) {
    $nombre_imagen_normal = $_FILES["imagen"]["name"];
    $nombre_imagen_tmp = $_FILES["imagen"]["tmp_name"];

    /*TRYING TO COMPRESS THE IMAGES BEFORE TO SAVE THEM*/

    $valid_ext = array('png', 'jpeg', 'jpg');

    $location = $carpeta.$_FILES['imagen']['name'];

    // GET THE FILE EXTENSION
    $file_extension = pathinfo($location, PATHINFO_EXTENSION);
    $file_extension = strtolower($file_extension);

    // CHECK THE EXTENSION TO START THE COMPRESSION
    if (in_array($file_extension, $valid_ext)) {
        $location_2 = $carpeta.$_FILES['imagen']['name'].$file_extension;

        // COMPRESSING IMAGES
        compressImage($_FILES["imagen"]["name"], $location_2, 60);
    }

    /*SAVING IMAGES INTO THE DIRECTORY AND THE DATABASE*/

    //$url_imagen_normal[$i] = $carpeta.$nombre_imagen_normal[$i];
    $url_imagen_bd[$i] = $carpeta_bd.$nombre_imagen_normal[$i];
    @copy($nombre_imagen_tmp[$i], $url_imagen_normal[$i]);
    mysqli_query($conexion_post, "INSERT INTO imagenes VALUES('','$codigo_post','$url_imagen_bd[$i]','1')");
}

/*-------------------------------------*/

/*FUNCTION TO COMPRESS IMAGES*/

function compressImage($source, $destination, $quality) {
    $info = getimagesize($source);

    if ($info['mime'] == 'image/jpeg') {
        $image = imagecreatefromjpeg($source);
    } elseif ($info['mime'] == 'image/gif') {
        $image = imagecreatefromgif($source);
    } elseif ($info['mime'] == 'image/png') {
        $image = imagecreatefrompng($source);
    }

    imagejpeg($image, $destination, $quality);
}


这很乱,但可能
$location=$ru毯a.$\u文件['imagen']['name'][$i]你好。我更新了那行代码,但错误仍然存在。这个问题贯穿了整个代码,最好使用
foreach($\u FILES[“imagen”][“name”]作为$key=>$name){
然后使用
$key
访问其他部分,如
tmp_name
等。您好。我更新了那行代码,但错误仍然存在。不,它位于另一行。我添加了foreach,但错误仍然存在