Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: упорядочить вывод картинок
 
 автор: kvins   (15.05.2013 в 15:21)   письмо автору
 
 

Нужно сделать так чтобы картинки шли в нужном порядке , сейчас же в таком коде, они идут хаотически

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 системе

  Ответить  
 
 автор: confirm   (15.05.2013 в 15:33)   письмо автору
 
   для: kvins   (15.05.2013 в 15:21)
 

Ну так считывание файлов производится не по имени, а потому как они записаны в директорию. Считайте в массив файлы функцией glob(), отсортируйте его (по умолчанию glod выдает сортированный список), а потом вывод.

  Ответить  
 
 автор: kvins   (15.05.2013 в 19:37)   письмо автору
 
   для: confirm   (15.05.2013 в 15:33)
 

А можете показать как правильно пользоваться glob ?

Пробовал добавлять так $handle = glob($handle); скрипт завис

Потом почитал что можно использовать вместо opendir и заменил его и тоже ничего

  Ответить  
 
 автор: confirm   (15.05.2013 в 19:49)   письмо автору
 
   для: kvins   (15.05.2013 в 19:37)
 

<?
$ims 
glob('тут путь к файлам относительно скрипта/*.jpg');
foreach(
$ims as $im) {
  
//вывод 
}
Об аргументах glob читайте в руководстве.

  Ответить  
 
 автор: kvins   (16.05.2013 в 10:53)   письмо автору
 
   для: confirm   (15.05.2013 в 19:49)
 

Спс

А существует ли функция которая бы сканировала и выводила все папки и файлы с нужного раздела ?

К примеру указываю папку pics

там есть папки 1.2.3 и внутри файлы и нужно показать файлы внутри этих папок.

Впринципе можно использовать масивы, но может что еще есть

  Ответить  
 
 автор: confirm   (16.05.2013 в 11:15)   письмо автору
 
   для: kvins   (16.05.2013 в 10:53)
 

Смотря для чего это требуется, та же glob и то что вы писали, делают практически это самое.
Есть и scandir. Смотрите раздел руководства "Функции для работы с каталогами".

  Ответить  
 
 автор: kvins   (16.05.2013 в 11:33)   письмо автору
 
   для: confirm   (16.05.2013 в 11:15)
 

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

  Ответить  
 
 автор: Igorek   (16.05.2013 в 12:14)   письмо автору
 
   для: 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($filesrglob($pattern$flags$path));
  }
  return 
$files;
}
//пример вызова
$path '/var/www/html/';
$pattern '*.js';
rglob($pattern0$path)

$pattern '*.{js,css}';
rglob($patternGLOB_BRACE$path)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования