Удалить имя каталога из массива php

В 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
)

как это. Как я буду удалять этот каталог из массива списка файлов.

1

Решение

Согласно страницам поддержки CodeIgniter, имя каталога будет указываться не как значение массива, а как индекс массива.

https://ellislab.com/codeigniter/user-guide/helpers/directory_helper.html

0

Другие решения

Ты можешь использовать 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]);
}
}
0

Вы можете решить это многими способами (в настоящее время я могу думать 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);
0
По вопросам рекламы [email protected]