Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-比较一个数组的索引和另一个数组的值_Php - Fatal编程技术网

php-比较一个数组的索引和另一个数组的值

php-比较一个数组的索引和另一个数组的值,php,Php,我有一个项目,我应该上传多个图像到网页与图像删除选项 因此,很明显,当我使用带有图像名称的输入上传图像并删除一些上传图像时,删除的图像不会从输入中删除,当我提交表单时,所有图像都会插入数据库,甚至删除图像 现在,每当我从网页中删除一个图像时,我都会在表单中添加一个名为deletedImg[]的隐藏输入:该输入将具有删除图像的索引(例如,第一个图像被删除,然后名为deletedImg[]的输入将具有0的值,第二个图像被删除,然后是另一个名为deletedImg[]将具有值1..,依此类推) 这些值

我有一个项目,我应该上传多个图像到网页与图像删除选项

因此,很明显,当我使用带有图像名称的输入上传图像并删除一些上传图像时,删除的图像不会从输入中删除,当我提交表单时,所有图像都会插入数据库,甚至删除图像

现在,每当我从网页中删除一个图像时,我都会在表单中添加一个名为
deletedImg[]
的隐藏输入:该输入将具有删除图像的索引(例如,第一个图像被删除,然后名为
deletedImg[]
的输入将具有0的值,第二个图像被删除,然后是另一个名为deletedImg[]将具有值1..,依此类推)

这些值是已删除图像的索引,我希望在提交表单时上载图像时忽略它们。。我怎样才能做到这一点

if(isset($_POST['post']))
{
    $deleted = $_POST['deletedImg']; //This is the array containing the deleted image indexes

    foreach($_FILES['images']['name'] as $key=>$val)
    { 
        $nameOfImage = basename($_FILES['images']['name'][$key]);
        $avatarTempName = $_FILES['images']['tmp_name'][$key];
        // List of allowed image extensions
        $avatarAllowedExtension = array("jpeg", "jpg", "png", "gif");

        // Get avatar extension
        $avatarExtension = strtolower(end(explode('.', $nameOfImage)));

        if(in_array($avatarExtension, $avatarAllowedExtension))
        {
            $postImage = rand(0, 10000000000) . '_' . $nameOfImage;

            // Move image into Covers folder
            move_uploaded_file($avatarTempName, "Uploads\Posts\\" . $postImage);

            // Insert image into database
            $stmt = $con->prepare("insert into postImages (ID , userId , postID , postImg) values (DEFAULT , :userId, (select max(ID)from post) , :postImg)");
            $stmt-> execute(array(
                'userId' => $_SESSION['ID'],
                'postImg' => $postImage
            ));
        }
    }
}

要获取此数组的值,可以使用以下命令:

$deleted = array_values($_POST['deletedImg']);

然后,您可以在数组($val,$deleted)中使用
检查已删除数组中是否存在一个已发布的imagename。

我尝试过这样做,但图像未上载或插入数据库