首页 > 解决方案 > 关联数组将值连接到另一个关联数组

问题描述

我这里有一个在 codeigniter 中删除多个文件的功能。我只需要合并或连接关联数组的值。两个数组的值都是图像/文件的文件名和文件扩展名。我使用 md5 更改文件的名称。

这是我的代码

public function delete_files(){
    $filesCount = count($_FILES['file_certificate']['name']); 
    $file_certificate = [];
    $y = 0;
    for($i = 0; $i < $filesCount; $i++){
        $_FILES['file_certificates']['name']     = $_FILES['file_certificate']['name'][$i]; 
        $_FILES['file_certificates']['type']     = $_FILES['file_certificate']['type'][$i]; 
        $_FILES['file_certificates']['tmp_name'] = $_FILES['file_certificate']['tmp_name'][$i]; 
        $_FILES['file_certificates']['error']     = $_FILES['file_certificate']['error'][$i]; 
        $_FILES['file_certificates']['size']     = $_FILES['file_certificate']['size'][$i]; 

        $oldname = $_FILES["file_certificates"]['name'];
        $file_ext[] = pathinfo($oldname,PATHINFO_EXTENSION);
        $file_ray[] = trim(strtolower(md5(time().$oldname)));
        $result = array_combine($file_ray, $file_ext);
    }

        $path = FCPATH . 'uploads/certificate/';
        array_map('unlink', $result);
}

这是我现在的数组

在此处输入图像描述

我需要这样

Array
(
    [0] => 46eced0ea722a94160d53b4abbb10381.jpg
    [1] => 4f9ca54fa1daa022dc31b991a673cab7.pdf
)

而且,如果它可以通过此代码删除多个文件,我也从未尝试过

$path = FCPATH . 'uploads/certificate/'; //path file location
array_map('unlink', $result);

谢谢你。

标签: phpcodeignitercodeigniter-3associative-arraycodeigniter-upload

解决方案


我使用 foreach 完成了这项工作。

$path = FCPATH . 'uploads/certificate/';
$data = array();
    foreach( $file_ray as $index => $code ) {
       $value = $path.$code.'.'.$file_ext[$index];
       $data[] = $value;
    }

推荐阅读