Массив с 1
1.
KOZZ (28.01.2010 / 13:41)
Скрипт считывает файлы из папки в массив,затем выводит.
По умолчанию,массив начинает отсчет с 0.надо чтоб с 1.
Как сделать это смещение?
2.
Удаленный (28.01.2010 / 13:49)
индекс масива поменяй где [0] там 1,и сделай по порядку масив потом,если хочешь чтоб работа шла с индекса 1
3.
Станислав (28.01.2010 / 14:01)
Как вариант, в цикле прибавь +1
4.
KOZZ (28.01.2010 / 14:07)
2,мне надо чтоб и файл с индексом[0] тоже отображался!
5.
KOZZ (28.01.2010 / 14:12)
Пытался добавить пустое значение+выводить с проверкой на file_exsists - файлом с нулевым индексом считает открываемую директорию
6.
Станислав (28.01.2010 / 14:18)
4, 5, ты объясни популярней, что тыхочешь сделать. Может есть более простые решения?
7.
KOZZ (28.01.2010 / 14:29)
6,читай 1 пост!!! Я вывожу индекс в гет,и получается такая ссылка:
http://site.ru/a.php?id=0 вместо
http://site.ru/mp3/1.mp3
хочу чтоб в гет'е на 1й файл вела ссылка с id=1 ,a не id=0
8.
ramzes (28.01.2010 / 15:03)
$id = abs(intval($_GET['id']))+1;
9.
KOZZ (28.01.2010 / 15:07)
8,так таким макаром он не будет отображать файл с индексом[0]?!!
З.Ы:модуль числа и тип уже отфильтрованы
10.
ramzes (28.01.2010 / 15:20)
Блин, перепутал
не +1 а -1
11.
Удаленный (28.01.2010 / 15:24)
меня автор вообще удивляет,хоть бы полный вопрос дал,чем на педалях думать
12.
Дмитрий (28.01.2010 / 15:29)
$id = abs(intval($_GET['id']));
$id = $id ? $id-1 : 0;
вот так будет правильнее, то есть если значение будет 0, то из него не будет вычитаться 1
13.
KOZZ (28.01.2010 / 15:58)
11,не врубаешься-не мусорь в теме.
12,хорошо придумано,попробую)должно работать
14.
Артур (29.01.2010 / 16:43)
Совершенно не понял для чего лишний код нужен?! 0 такой же символ, и файл можно назвать 0.мп3 к чему все это?
15.
KOZZ (29.01.2010 / 19:03)
14,просто интересно,как реализовывать подобные задачи...
16.
Артур (29.01.2010 / 19:22)
Сместить можно разными способами, на пример задать новый массив с 0 индексом = ничего; и затем передать в него все значения первого массива только 0 ячейка первого массива передавать в 1 ячейку результирующего и так далее. Можно просто в первом массиве 0 элемент перенести в конец а вместо него поставить 0
17.
Артур (29.01.2010 / 19:24)
Можно пройти по всему массиву с именами файлов в обратном порядке и переносить все значения на единицу назад а в 0 ячейку установить ноль.
18.
Артур (29.01.2010 / 19:26)
Способ - переместить 0 элемент в конец - мне больше всего нравится, думаю не особо важно будет ли первый файл в конце массива или нет.
19.
ramzes (29.01.2010 / 20:22)
Я вот подумал.. Что за массив такой у тебя? Ты типа сканируешь папку выдаешь линк с номером файла в массиве, при переходе сного сканируешь и выдаешь файл с этим номером в массиве?
Как то не рационально выходит.. Особенно если много файлов..
20.
KOZZ (30.01.2010 / 09:20)
19,да именно так.
Типа как в витринах
21.
Артур (30.01.2010 / 14:00)
Автор, такими темпами убьешь сервер ;) Лучше записывай все файлы в один текстовый файл и его читай, все лучше чем папку перебирать, можно с бд устроить то же самое, будет еще лучше, но гонять по папке для каждого пользователя, это не эстетично мягко говоря
22.
ramzes (30.01.2010 / 15:30)
А если на живую то передавай не номер в массиве а имя файла
23.
KOZZ (31.01.2010 / 07:48)
21,я так не думаю
22,нафига?я сначала так и делал,но как то это не так...да и толку с этого?
24.
ramzes (31.01.2010 / 15:41)
Толку с такого - разумное использование ресурсов сервера
25.
KOZZ (31.01.2010 / 17:19)
24,каким образом?!разница?!выводить имя файла в гет,или цифру-в чем же заключается это разумное использование ресурсов сервера?
26.
ramzes (31.01.2010 / 19:30)
Ну ты юморист
какая разница что ты в гет передаешь? А вот лишний цикл сканирования папки с файлами это точно неоправданное действие, без обид но я бы это назвал ярчайшим примером говнокода..
(ни чего личного, мы за тем тут и сидим что бы учиться и подсказывать друг другу).
27.
KOZZ (01.02.2010 / 14:02)
26,нихт говнокод!;)
я не гоняю лишний цикл-это все тот же.позже покажу
URL:
https://visavi.net/topics/5454