Войти
Меню :
php (386)



Blog (1575)
php (386)
js (295)
html (152)
css (139)
html tags (62)
js tag (56)
js method (44)
jquery (42)
php array (38)
ruweb.net (37)
text (37)
js date (33)
other (32)
online (30)
form html (30)
Показать еще :
fonts (30)
js events (22)
php file (21)
foto (20)
atom (20)
input (19)
database (19)
php date (18)
svg (18)
forum (18)
mysql (17)
hosting (17)
info (17)
lingvo (17)
php time (16)
board (16)
php img (16)
dosite (16)
color (15)
js url (14)
jsphp (14)
img (14)
js time (14)
table (13)
select (13)
notepad (13)
знак (13)
html book (13)
htaccess (13)
osclass (13)
yandex (13)
download (12)
keyboard (12)
dw block (12)
php path (12)
icon (11)
$ server (11)
form (10)
mouse (10)
vs code (10)
js delete (10)
ftp (9)
hover (8)
chart (8)
php url (7)
comment (7)
php post (7)
adminka (6)
php get (6)
hey tag (6)
canvas (6)
нок (6)
list (6)
iframe (6)
click (6)
js vars (6)
reg.ru (5)
tag a (5)
js math (5)
web (5)
js id (5)
value (5)
console (5)
js file (5)
xml (5)
heading (5)
mb (5)
year (5)
js form (4)
ssl (4)
vk (4)
symbols (4)
task (4)
scandir (4)
js hash (4)
bbcode (4)
base64 (4)
youtube (4)
day (4)
numbers (4)
php var (4)
pages (4)
week (4)
month (4)
games (4)
submit (4)
file (3)
рся (3)
units (3)
jquery post (3)
https (3)
js post (3)
line (3)
money (3)
video (3)
padding (3)
domen (3)
aimp (3)
ucoz (3)
куб (3)
captcha (3)
src (2)
blob (2)
google (2)
prompt (2)
height (2)
details (2)
seo (2)
sitemap (2)
tag hr (2)
counter (2)
пк (2)
typeof (2)
arrows (2)
qr code (2)
js img (2)
lingvo (1)
windows (1)
archive (1)
speed (1)
scroll (1)
cursor (1)
webp (1)
ok (1)
php day (1)
jino (1)
smile (1)
нод (1)
rutube (1)

Удаление виртуальных директорий ячеек массива с точками

При сканировании папки разными способами, и если это массив с названиями, то первые две ячейки массива будут состоять из точек - они называются виртуальные директории! Естественно, что они будут мешаться в случае использования данного массива на сайте! Поэтому мы должны удалить эти точки в массиве!

Все способы удалить две виртуальные директории

  1. Что такое виртуальные директории в массиве после scandir
  2. Удаление виртуальных директорий -> unset
  3. Удаление виртуальных директорий -> array_diff
  4. Удаление виртуальных директорий -> цикл for
  5. Еще способ удаления виртуальных директорий -> array_filter
  6. Скачать

  1. Что такое виртуальные директории в массиве после scandir

    Если вы используете scandir для получения файлов в папке, или любым другим способом, то в первых двух ячейках вашего массива получим две виртуальные директории:

    .

    ..

    Elitsin-alkash.html

    Gorbachev-goret-tebe-v-adu.dat

    Gorbachev-predatel.html

    Gorbachev-prodal-rodinu.txt

    Gorbachev-razvalil-SSSR.php

    amerikosyi_kazlyi.txt

    no_title.html

    obama_pidurok.html

    strange_names_file.html

    Если вы работаете с папкой и массивом, то наверняка понимаете. что они вам будут постоянно мешаться! Поэтому давайте удалим эти виртуальные директории!


  2. Удаление виртуальных директорий -> unset

    Самое простий способ избавиться от виртуальных директорий - это просто удалить две первые ячейки массива

    У нас есть наш массив файлов, который был получен таким образом:

    Получаем путь на сервере, всегда делаю в самом верху страницы и присваиваю это значение переменной:

    $home = $_SERVER['DOCUMENT_ROOT'];

    Заносим в переменную путь до папки, которую будем сканировать:

    $dir = $home.'/__a-data/Z-arhiv/scandir-ili-sodergimoe-v-papke/1/';

    Сканируем помощью scandir

    $file = scandir($dir);

    Выводим с помощью print_r:

    .

    ..

    Elitsin-alkash.html

    Gorbachev-goret-tebe-v-adu.dat

    Gorbachev-predatel.html

    Gorbachev-prodal-rodinu.txt

    Gorbachev-razvalil-SSSR.php

    amerikosyi_kazlyi.txt

    no_title.html

    obama_pidurok.html

    strange_names_file.html

    Как видим наши виртуальные директории замечательно расположились в ячейки [0] и [1], применим к ним unset:

    unset($file [0]);

    unset($file [1]);

    Результат удаления виртуальных папко с помощью unset

    Array

    (

    [2] => Elitsin-alkash.html

    [3] => Gorbachev-goret-tebe-v-adu.dat

    [4] => Gorbachev-predatel.html

    [5] => Gorbachev-prodal-rodinu.txt

    [6] => Gorbachev-razvalil-SSSR.php

    [7] => amerikosyi_kazlyi.txt

    [8] => no_title.html

    [9] => obama_pidurok.html

    [10] => strange_names_file.html

    )

    Если вам требуется упорядочить нумерацию ключей в массиве, то вам понадобится Восстановить нумерацию ключей

  3. Удаление виртуальных директорий -> array_diff

    Следующий способ удалить виртуальные директории использовать array_diff

    Как помним из предыдущего пункта, что в $file мы уже не сможем удалить виртуальные директории, поэтому нам нужно присвоить данный массив новой переменной, чтобы было все по честному:

    $file_1 = $file = scandir($dir);

    Создадим из этих двух виртуальных директорий массив array('..', '.'), далее берем array_diff, первым значением помещаем нашу переменную массив $file_1, а вторым значением виртуальные директории:

    $delit_points = array_diff($file_1 , array('..', '.'));

    Выводим здесь:

    print_r($delit_points);
    Результат удаления виртуальных точек с помощью array_diff

    Array

    (

    [2] => Elitsin-alkash.html

    [3] => Gorbachev-goret-tebe-v-adu.dat

    [4] => Gorbachev-predatel.html

    [5] => Gorbachev-prodal-rodinu.txt

    [6] => Gorbachev-razvalil-SSSR.php

    [7] => amerikosyi_kazlyi.txt

    [8] => no_title.html

    [9] => obama_pidurok.html

    [10] => strange_names_file.html

    )


  4. Удаление виртуальных директорий -> цикл for

    Как удалить виртуальные директории с помощью цикла!?

    Открываем папку - opendir.

    Читаем папку – readdir.

    Если папки не равны точкам, то выводим название… через echo:

    <?php 

    $handle = opendir('путь_до _папки');

    while (false !== ($file = readdir($handle))) { 

        if ($file != "." && $file != "..") { 

            echo "$file\n<br>"; 

        } 

    }

    ?>

    Результат:

    Elitsin-alkash.html

    strange_names_file.html

    Gorbachev-prodal-rodinu.txt

    Gorbachev-predatel.html

    Gorbachev-razvalil-SSSR.php

    amerikosyi_kazlyi.txt

    obama_pidurok.html

    Gorbachev-goret-tebe-v-adu.dat

    no_title.html

    Если требуется вернуть значения в новый массив, то добавляем выше цикла $new_array = array();, а внутрь цикла $new_array[] = $file;

    <?php 

    $new_array = array();

    $handle = opendir('путь_до _папки');

    while (false !== ($file = readdir($handle))) { 

        if ($file != "." && $file != "..") { 

            $new_array[] = $file;

        } 

    }

    ?>

    Результат:

    Array

    (

    [0] => Elitsin-alkash.html

    [1] => strange_names_file.html

    [2] => Gorbachev-prodal-rodinu.txt

    [3] => Gorbachev-predatel.html

    [4] => Gorbachev-razvalil-SSSR.php

    [5] => amerikosyi_kazlyi.txt

    [6] => obama_pidurok.html

    [7] => Gorbachev-goret-tebe-v-adu.dat

    [8] => no_title.html

    )


  5. Еще способ удаления виртуальных директорий -> array_filter

    Следующий вариант удаления виртуальных директорий в виде точек используем array_filter + для восстановления нумерации -> array_values, выше я уже давал ссылку

    $arr = $file;// стоит в самом верху. Для того, чтобы мы с каждым массивом могли работать отдельно! - вам этого делать не нужно...

    $arr = array_values(array_filter($arr, function($e) { return $e != "."; }));// вывод массива без первой точки

    $arr = array_values(array_filter($arr, function($e) { return $e != ".."; }));// вывод массива без второй точки

    print_r($arr );

    Результат удаления виртуальных директорий с помощью array_filter

    Array

    (

    [0] => Elitsin-alkash.html

    [1] => Gorbachev-goret-tebe-v-adu.dat

    [2] => Gorbachev-predatel.html

    [3] => Gorbachev-prodal-rodinu.txt

    [4] => Gorbachev-razvalil-SSSR.php

    [5] => amerikosyi_kazlyi.txt

    [6] => no_title.html

    [7] => obama_pidurok.html

    [8] => strange_names_file.html

    )

Вот и всё, что я сегодня хотел вам рассказать!

Не стесняемся говорить спасибо!
О комментах : 05.11.2024
Свои комменты в ожидании переделки!
Когда сделаю не знаю!
Времени нет...
Друзья! Пожалуйста держите себя в рамках приличия!
Иначе сообщение будет удалено, вас в бан - все просто!
Но если, сил нет как хочется высказать всё, что вы думаете об этом, пожалуйста - комменты от Vk - форма ниже:
Помочь проекту DwWeb.ru

Поделиться ссылкой! C друзьями или врагами!

Этим вы очень поможете проекту! Заранее огромное спасибо!

Теги:
виртуальная директория удаление виртуальные директории ячеек массива с точками виртуальные директории
dwweb.ru есть здесь:
Все соцсети в одном месте!
Разное :Игра "пятнашки"
Угадай страну по флагу

Кальклятор
Математика онлайн

Списки шифрования
Часы

Числа словами
Названия чисел(max=10305)
Графики

Qr код онлайн

Как сделать сайт?
Md5 онлайн
Sitemap.html
Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2024 Контакты. Лучший хостинг : RUWEB + помощь по RUWEB Сайт работает круглосуточно 24/7.
Страница загружена за : 0.026262 секунд.