问题描述
我在这里有一个在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);
谢谢。
解决方法
我使用foreach完成了此操作。
$path = FCPATH . 'uploads/certificate/';
$data = array();
foreach( $file_ray as $index => $code ) {
$value = $path.$code.'.'.$file_ext[$index];
$data[] = $value;
}