СКРИПТЫ
ТЕГИ:
php (325)
js (242)
html (146)
css (130)
html tags (62)
js tag (56)
jquery (42)
text (37)
js method (36)
php array (33)
js date (33)
form html (30)
online (28)
fonts (26)
link (26)
Показать еще :
ruweb.net (25)
foto (22)
php file (20)
atom (20)
forum (19)
svg (18)
input (18)
hosting (18)
php date (17)
html book (16)
php time (16)
board (16)
color (15)
js url (14)
img (14)
js events (14)
js time (14)
info (13)
select (13)
osclass (13)
htaccess (13)
notepad (13)
знак (12)
php path (12)
keyboard (12)
php img (12)
download (12)
table (12)
dw block (12)
jsphp (11)
form (11)
icon (11)
yandex (10)
mouse (10)
js delete (10)
keyframes (10)
hover (9)
dosite (8)
browser (7)
cookie (7)
comment (7)
php url (7)
php get (6)
click (6)
mysql (6)
canvas (6)
list (6)
iframe (6)
js math (5)
reg.ru (5)
adminka (5)
mb (5)
heading (5)
tag a (5)
chart (5)
search (5)
ftp (5)
year (5)
js id (5)
value (5)
base64 (4)
day (4)
нок (4)
flags (4)
week (4)
xml (4)
scandir (4)
ssl (4)
bbcode (4)
php var (4)
games (4)
console (4)
js form (4)
vk (4)
pages (4)
submit (4)
month (4)
symbols (4)
task (4)
https (3)
js hash (3)
js post (3)
domen (3)
money (3)
vs code (3)
куб (3)
js img (3)
ucoz (3)
padding (3)
captcha (3)
numbers (3)
line (3)
tag hr (2)
qr kod (2)
youtube (2)
video (2)
рся (2)
sitemap (2)
counter (2)
details (2)
prompt (2)
typeof (2)
google (2)
height (2)
arrows (2)
seo (2)
js vars (2)
smile (1)
scroll (1)
speed (1)
нод (1)
archive (1)
header (1)
windows (1)
rutube (1)
jino (1)
cursor (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

    )

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

Не благодарите, но ссылкой можете поделиться!
Название скрипта :Убрать точки при сканировании папки (с начала файла)
Ссылка на скачивание : Все скрипты на одной странице
Временная ссылка для быстрейшей индексации : список всех квадратных корней.
Теги :
виртуальная директория
удаление виртуальные директории
ячеек массива с точками виртуальные директории
Еще никто не прокомментировал! COMMENTS+   BBcode
Подписаться + =

ruweb dwweb.ru есть здесь:
Последние комментарии :
Марат :
15.08.2023 17:50
Значит в "maxv" сидит…
подробнее.
михаил :
15.08.2023 16:53
а если это сделано для диаграммы values / maxv)…
подробнее.
Марат :
17.07.2023 15:50
Спасибо за интересный вопрос! Посмотрите …
подробнее.
Александр :
17.07.2023 14:58
а как сделать чтобы при повторном клике значение value возвращалось к…
подробнее.
Марат :
30.06.2023 10:18
Спасибо за внимательность!
подробнее.
???? :
29.06.2023 15:37
Прямоугольник - это геометрическая фигура, у которой три угла…
подробнее.
Немного о ruweb.net!
Страница загружена за : 0.019051 секунд. Подробнее