|
|
|
| Нужно сделать так чтобы картинки шли в нужном порядке , сейчас же в таком коде, они идут хаотически
if ($handle = opendir('newpic/'.$id)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo " <img src='newpic/$id/$file' alt='$send[name]' ><br><br>";
}
}
closedir($handle);
}
|
Название картинок во всех статьях идут такими
Name001.jpg
Name002.jpg
Name003.jpg
хостинг настроен на linux системе | |
|
|
|
|
|
|
|
для: kvins
(15.05.2013 в 15:21)
| | Ну так считывание файлов производится не по имени, а потому как они записаны в директорию. Считайте в массив файлы функцией glob(), отсортируйте его (по умолчанию glod выдает сортированный список), а потом вывод. | |
|
|
|
|
|
|
|
для: confirm
(15.05.2013 в 15:33)
| | А можете показать как правильно пользоваться glob ?
Пробовал добавлять так $handle = glob($handle); скрипт завис
Потом почитал что можно использовать вместо opendir и заменил его и тоже ничего | |
|
|
|
|
|
|
|
для: kvins
(15.05.2013 в 19:37)
| |
<?
$ims = glob('тут путь к файлам относительно скрипта/*.jpg');
foreach($ims as $im) {
//вывод
}
| Об аргументах glob читайте в руководстве. | |
|
|
|
|
|
|
|
для: confirm
(15.05.2013 в 19:49)
| | Спс
А существует ли функция которая бы сканировала и выводила все папки и файлы с нужного раздела ?
К примеру указываю папку pics
там есть папки 1.2.3 и внутри файлы и нужно показать файлы внутри этих папок.
Впринципе можно использовать масивы, но может что еще есть | |
|
|
|
|
|
|
|
для: kvins
(16.05.2013 в 10:53)
| | Смотря для чего это требуется, та же glob и то что вы писали, делают практически это самое.
Есть и scandir. Смотрите раздел руководства "Функции для работы с каталогами". | |
|
|
|
|
|
|
|
для: confirm
(16.05.2013 в 11:15)
| | Да спс посмотрю , решил создать скрипт на сайте который бы создавал автоматически карту сайта картинок, поэтому указываю каталог , а внутри еще есть подкаталоги с которых потом нужно вытащить пути к картинкам чтобы создать карту сайта | |
|
|
|
|
|
|
|
для: kvins
(16.05.2013 в 10:53)
| | Рекурсивный glob. Возвращает массив найденных файлов
<?php
function rglob($pattern = '*', $flags = 0, $path = '') {
$paths = glob($path.'*', GLOB_MARK | GLOB_ONLYDIR | GLOB_NOSORT);
$files = glob($path.$pattern, $flags);
foreach ($paths as $path) {
$files = array_merge($files, rglob($pattern, $flags, $path));
}
return $files;
}
//пример вызова
$path = '/var/www/html/';
$pattern = '*.js';
rglob($pattern, 0, $path)
$pattern = '*.{js,css}';
rglob($pattern, GLOB_BRACE, $path)
|
| |
|
|
|