как сделать нумерацию файлов!

ivan52

d-i-d grafix
как сделать нумерацию файлов!

есть скрипт, который выводит файлы из директории
стандартный взят из описания

как сделать нумерацию - так чтобы каждому следующему выводящемося файлу присваивался порядковый номер

$handle = opendir('.');
while (false !== ($file = readdir($handle)));
if ($file != "." && $file != "..");
print "$file\n";
}
}
closedir($handle);
 

ivan52

d-i-d grafix
<?php

$i=0
$handle = opendir('elyta/img');
while (false !== ($file = readdir($handle)));
if ($file != "." && $file != "..");
echo ++$i . ' ' . $file . '\n';
endwhile;
closedir($handle);

?>

честно говоря не понял, пишет ошибка в строке 4
там указана директория
когда ставлю "." или "/"
пишет ошибка в строке 7

не фига не понимаю
не работает именно в онлайне
дома работал
 

IBSN

Новичок
1) Я так и непонял что ты хочешь сделать =)
2) Что ты пытаешься вывести echo ++$i . ' ' . $file . '\n'; ???
 

ivan52

d-i-d grafix
<?php
if ($handle = opendir('.')) {

print "<select name='files'>\\n";
while (false !== ($file = readdir($handle))) {
$ext = substr(strrchr($file, "."), 1);
if ($ext == "gif") print "<option value='\$file'>" . $file . "</option>";
}
print "</select>";

closedir($handle);
}
?>

вот скрипт который работает в онлайне
делает еще выборку по расширению файла
куда надо вписать вашу функцию, чтобы нумеровала позиции

и еще вопрос, извиняюсь за навязчивость
можно ли выборку делать по нескольким расширениям
например не только gif
но и jpg, png и т.д.
 

ivan52

d-i-d grafix
да прошу прощения отвечаю

1. я пытаюсь вывести список файлов из директории
(это получилось)
2. только картинок (пока выборка одного расширения - как сделать несколько)
3. требуется функция, которая каждому файлу будет присваивать каждому файлу порядковый номер
спасибо за помощь :))

а ++$i
это Larson написал, я попробовал, пока не вышло
 

IBSN

Новичок
создай цикл и через $i нумеруй файлы
вот то что я понял:
print "<select name='files'>\n";
for ($i =0; $i <10; $i++)
{
echo "<option value='$i.$file'> $i.$file </option>";
}
print "</select>";

так он выведет 10 нумеров к файлам, и значения в select будут:
<option value='0popa.jpg'> 0popa.jpg</option>
<option value='1popa2.jpg'> 1popa2.jpg</option>
<option value='3popka.jpg'> 3popka.jpg</option>
...

Ты про это имел ввиду?
 

IBSN

Новичок
я не проффесионал, но думаю что будет работать так :
$ras = explode (".", $file);
тоесть в $ras[1] будет содержаться твое расширение...
Если я неправ - отругайте =)
 

Burunduk-13

[CBT], Старожил РНРClub'a
>$ras = explode (".", $file);
>тоесть в $ras[1] будет содержаться твое расширение...
А для такого имени "image.for.me.jpg"??? $ras[1] будет содержать for...
Юзай функцию pathinfo, для того, чтобы узнать расширение файла. Или бери не второй елемент массива $ras, а последний.
 

RomikChef

Guest
отругаем.
pyanka_1.1.03.jpg тебе что вернет?

правильный ответ - strrpos
 

RomikChef

Guest
а речь не о твоих фалах.
Кстати, как узнать расширение, человек не спрашивал.

Он и так умеет его определять. Ну, не сам, так скрипт, который он где-то взял.
он спрашивал, как по нескольким расширениям проверять.
 

RomikChef

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

$ext_types=array(
"jpg"=>'',
"gif"=>'',
"png"=>''
);

и вместо
if ($ext == "gif")
написать
if (isset($ext_types[$ext]))
 

ivan52

d-i-d grafix
да отвечаю на многое что было написано

1. IBSN - спасибо за цикл на вывод 10 файлов, ну это если я 10 файлов хочу вывести - не пробовал еще, но думаю заработает, а если я не знаю сколько в директорию файлов сложили, бесконечную нумерацию можно делать?

2. Romik Chef - скрипт работает предложенный выводит нужные расширения, спасибо

3. нумерацию так и не вышло делать :)
 

RomikChef

Guest
Тебе написали.
Еще в самом ервом ответе - КАК.

Ты сказал, что пишет ошибку.

но, видишь ли, РНР - язык не для чукчей.
если бы он был для чукчей, то он так бы и писал - ОШИБКА.
Всегда, на любую ошибку. Одно слово.

но это язык чуть более продвинутый.
И он пишет не просто слово ОШИБКА, но и указывает - какая.
Для того, чтобы программист, у которого хватит ума её понять, знал, что исправлять.
Ну, или хотя бы хватит ума сообщить эту ошибку тем, кто сможет понять.

может, тебе поискать другой язык, а?
 

IBSN

Новичок
ivan52 - там не бессконечная нумерация нуна, там нужна count() подсчитай кол. файлов...
 

IBSN

Новичок
RomikChef может, тебе поискать другой язык, а? =) ты всех НАЧИНАЮЩИХ в форуме (заметь) для НАЧИНАЮЩИХ так разгонишь... =)
 

ivan52

d-i-d grafix
ROmikChef не ругай! я не программист - а только учусь
понимаешь я бы не задавал вопросы, если бы знал или нашел пример, чтобы переработать его

вчера читал всякие функции count, list, создавал такие же функции типа i=0, i<10, ++i
да такая штука считает от 1 до 10
если ее вывести

а так я поискал в форуме и не нашел ничего подобного
попробовал спросить
спасибо

очень тяжело написать что-то когда ты ничего не писал
когда ты берешь и устанавливаешь с нуля себе php, mysql, apache
мучаешься над этим
потом разбираешься
читаешь

и не имеешь представления о чем либо с чего начинать
поэтому может у меня недостаточно знаний, но я желаю научиться и узнать
 
Сверху