Спустя 3 минуты, 51 секунда (3.03.2012 - 13:42) Visman написал(а):
Можно так
$open = opendir($dir);
while (($file = readdir($open)) !== false)
{
// а тут проверка на расширение имени файла $file и вывод текущей картинки
}
closedir($open);
Спустя 4 минуты, 14 секунд (3.03.2012 - 13:46) Winston написал(а):
scandir()
Или
Или
foreach(glob('*.jpg') as $val)
echo $val . '<br/>';
Спустя 1 минута, 53 секунды (3.03.2012 - 13:48) Stasonix написал(а):
Цитата (Winston @ 3.03.2012 - 10:46) |
|
расширение файла может быть любым, ну в смысле только картиночным, может регулярки задействовать?
Спустя 2 минуты, 58 секунд (3.03.2012 - 13:51) Stasonix написал(а):
Цитата (Visman @ 3.03.2012 - 10:42) |
Можно так
|
хмм, а может и без руглярки, по моему в php есть свои функции проверки расширений, или я могу ошибаться?
Спустя 1 минута, 45 секунд (3.03.2012 - 13:53) Visman написал(а):
Для получения расширения из строки я пользуюсь вот этим ;)
$ext = strtolower(substr(strrchr($file, '.'), 1));
Спустя 2 минуты, 50 секунд (3.03.2012 - 13:55) Winston написал(а):
Цитата (Stasonix @ 3.03.2012 - 12:48) |
расширение файла может быть любым |
foreach(glob('*.{jpg,png}', GLOB_BRACE) as $val)
echo $val . '<br/>';
Цитата (Visman @ 3.03.2012 - 12:53) |
Для получения расширения из строки я пользуюсь вот этим ;) |
Спустя 5 минут, 26 секунд (3.03.2012 - 14:01) Visman написал(а):
Цитата (Winston @ 3.03.2012 - 18:55) |
А чем http://ua.php.net/manual/ru/function.pathinfo.php не устраивает? |
Не заметил
Спустя 48 секунд (3.03.2012 - 14:02) Stasonix написал(а):
пусто, но и ошибок нет?
как текущий каталог обозначить правильно?
<?php
$dir = "../"; // я уже как только не писал, не видит current dir
$open = opendir($dir);
while (($file = readdir($open)) !== false)
{
// а тут проверка на расширение имени файла $file и вывод текущей картинки
$ext = strtolower(substr(strrchr($file, '.'), 1));
if ($ext=="jpg" || $ext=="png" || $ext=="gif" || $ext=="JPG" || $ext=="PNG" || $ext=="GIF") echo $file;
}
closedir($open);
?>
как текущий каталог обозначить правильно?
Спустя 1 минута (3.03.2012 - 14:03) Winston написал(а):
Цитата (Stasonix @ 3.03.2012 - 13:02) |
$dir = "../"; |
Это на каталог выше. Текущий каталог относительно твоего скрипта пишется так ./
Спустя 2 минуты, 1 секунда (3.03.2012 - 14:05) Stasonix написал(а):
Цитата (Winston @ 3.03.2012 - 11:03) | ||
Это на каталог выше. Текущий каталог относительно твоего скрипта пишется так ./ |
замечательно, но вывело только имена, а некоторые картинки с кириллическими именами, и их вывело квадратиками, вот такой эФфеКт.
Спустя 2 минуты, 15 секунд (3.03.2012 - 14:07) Winston написал(а):
Цитата (Stasonix @ 3.03.2012 - 13:05) |
а некоторые картинки с кириллическими имени, и их вывело квадратиками |
значит у тебя файл в юникоде?
Если да то нужно имена перкодировать
$file = iconv('WINDOWS-1251', 'UTF-8', $file);
echo $file;
Спустя 2 минуты, 21 секунда (3.03.2012 - 14:09) Stasonix написал(а):
Да! Спасибо! Я думаю что делать с именами все понимают и так.
п.с. <img src='имя'> это я так, на заметку.
п.с. <img src='имя'> это я так, на заметку.
Спустя 2 минуты, 22 секунды (3.03.2012 - 14:12) Visman написал(а):
Stasonix, да в $file имя, а не сама картинка.
Чтобы картинка показалась надо имя загнать в тег img, например
Чтобы картинка показалась надо имя загнать в тег img, например
'<img src="http://абсолютный путь сайта до папки с картинками'.$file.'" alt="'.$file.'" border="0">'
Спустя 50 секунд (3.03.2012 - 14:12) Stasonix написал(а):
ВОТ ПОЛНЫЙ СКРИПТ:
кому надо, юзайте наздоровье!
<?php
$dir = "./";
$open = opendir($dir);
while (($file = readdir($open)) !== false)
{
$ext = strtolower(substr(strrchr($file, '.'), 1));
if ($ext=="jpg" || $ext=="png" || $ext=="gif" || $ext=="JPG" || $ext=="PNG" || $ext=="GIF") {
$file = iconv('WINDOWS-1251', 'UTF-8', $file);
echo "<img src='$file'>";
}
}
closedir($open);
?>
кому надо, юзайте наздоровье!
Спустя 1 минута, 4 секунды (3.03.2012 - 14:14) Stasonix написал(а):
конечно можно было и через регулярку, но это уже так, а для наглядности сойдет.
Спустя 12 секунд (3.03.2012 - 14:14) Visman написал(а):
И это
не нужно, так как понижение регистра идет в вычислении расширения.
$ext=="JPG" || $ext=="PNG" || $ext=="GIF"
не нужно, так как понижение регистра идет в вычислении расширения.
Спустя 2 минуты, 41 секунда (3.03.2012 - 14:16) Visman написал(а):
Winston
короче чем
:D
З.Ы. Смайлы работают криво. То они есть, но вот их уже нет.
$ext = strtolower(substr(strrchr($file, '.'), 1));
короче чем
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
:D
З.Ы. Смайлы работают криво. То они есть, но вот их уже нет.
Спустя 19 секунд (3.03.2012 - 14:17) Winston написал(а):
foreach(glob('*.{jpg,png,gif,JPG,PNG,GIF}', GLOB_BRACE) as $file)
{
$file = iconv('WINDOWS-1251', 'UTF-8', $file);
echo "<img src='" . $file . "'>";
}
Спустя 3 минуты, 29 секунд Winston написал(а):
Цитата (Visman @ 3.03.2012 - 13:16) |
короче чем |
Ну, а зачем в нижний регистр переводить?
Цитата (Visman @ 3.03.2012 - 13:16) |
З.Ы. Смайлы работают криво. То они есть, но вот их уже нет. |
Они работают только тогда, когда в твоем посте нету кода выделенного тегами.
Спустя 8 минут, 16 секунд (3.03.2012 - 14:25) Visman написал(а):
Цитата (Winston @ 3.03.2012 - 19:20) |
Ну, а зачем в нижний регистр переводить? |
Код был взят из рабочего файла. Там он зачем-то нужен был.
З.Ы. Счас изучу его, может чего поменяю