В CodeIgnitor я получаю этот массив с помощью directory_map.
Array
(
[0] => preview.zip
[1] => RealEsta - Email Marketing Template.zip
[2] => thumbnail
[3] => thumbnail.jpg
)
Я хочу удалить имя каталога из массива.
Array
(
[0] => preview.zip
[1] => RealEsta - Email Marketing Template.zip
[2] => thumbnail.jpg
)
как это. Как я буду удалять этот каталог из массива списка файлов.
Согласно страницам поддержки CodeIgniter, имя каталога будет указываться не как значение массива, а как индекс массива.
https://ellislab.com/codeigniter/user-guide/helpers/directory_helper.html
Ты можешь использовать is_dir()
Пример:
<?php
// Your array
$files_and_dirs = array(
'preview.zip',
'RealEsta - Email Marketing Template.zip',
'thumbnail',
'thumbnail.jpg'
);// Now loop the above array
foreach($files_and_dirs as $key => $value)
{
if(is_dir("abc/xyz/".$value))
{
unset($files_and_dirs[$key]);
}
}
Вы можете решить это многими способами (в настоящее время я могу думать 3 пути).
способ 1:
$map = directory_map('./uploads/'.$user_id.'/files', 2, FALSE);//set second parameter as 2
foreach($map as $key=>$m)
{
if(is_array($m))
{
unset($map[$key]);
}
}
print_r($map);//now $map only contains files name
способ 2:
$map = directory_map('./uploads/'.$user_id.'/files', 2, FALSE);//set second parameter as 2
foreach($map as $key=>$m)
{
if(!is_int($key))
{
unset($map[$key]);
}
}
print_r($map);
способ 3:
$map = directory_map('./uploads/'.$user_id.'/files', 1, FALSE);//As you did
foreach($map as $key=>$m)
{
if(is_dir('./uploads/'.$user_id.'/files'.$m))
{
unset($map[$key]);
}
}
print_r($map);