Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Работа с jpg файлами чтение и вывод, открыть папку+получить список файлов... 
:(
    Опции темы
PARROT
Дата 8.2.2006, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



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

Код

<?php
$in_dir = __FILE__;
$in_dir = "/home/vs/www/img/";
//$in_dir = "/home/g/grolvasp/abmi/public_html/img/";   //хостинг директория
$dir = '';
if(isset($_GET['dir'])) $dir = $_GET['dir'];
echo $in_dir.$dir . "<br><br>";
if($OpenDir=opendir($in_dir.$dir))
{
while(($file=readdir($OpenDir)) !== false)
        if(substr($file, -3) == 'jpg') {//фильтруем и выводим только jpg
if($file != "." && $file != "..")
if(is_dir($in_dir.$dir."/".$file)){
     for($i=0;$i<count($file);$i++){
         echo "<a href='$PHP_SELF?dir=img/$file'><img src=img/".$file." width=100 height=100 border><br></a>";
        }
echo "<a href='$PHP_SELF?dir=img/$file'>".$file."</a>"."&nbsp;&nbsp;( DIR)<BR/>";

}else{
for($i=0;$i<count($file);$i++){
         echo "<a href='img/$file'><img src=img/".$file." width=100 height=100 border></a><br>";
        }
echo "<a href='img/$file'>".$file."</a>"."&nbsp;&nbsp;".@filesize($file)." <BR/>";


}
}
}
?>

Вроде все работает, но вот никак не получается вывести по 7 картинок на строку, максимум, что получилось можно посмотреть тут: http://abmi.ru/
Надписи должны быть под картинкой smile
И может что-то можно изменить в коде, как-то упростить? smile



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
BobiKK
Дата 8.2.2006, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: 4
Всего: 16



Дык, оформить это дело в виде таблицы
PM MAIL   Вверх
PARROT
Дата 8.2.2006, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(BobiKK @ 8.2.2006, 19:42)
Дык, оформить это дело в виде таблицы

Дык... это понятно:
Код

<table>
<?php
$in_dir = __FILE__;
//$in_dir = "/home/vs/www/img/";
$in_dir = "/home/g/grolvasp/abmi/public_html/img/";   //хостинг директория
$dir = '';
if(isset($_GET['dir'])) $dir = $_GET['dir'];
if($OpenDir=opendir($in_dir.$dir))
{
while(($file=readdir($OpenDir)) !== false)
        if(substr($file, -3) == 'jpg') {//фильтруем и выводим только jpg
if($file != "." && $file != "..")
if(is_dir($in_dir.$dir."/".$file)){
$a = 0;
$cols = 3;
?>
<tr>
<?
     for($i=0;$i<count($file);$i++){
 if($a==$cols) {
?>
</tr><tr>
<?
$a = 0;
}
         echo "<td><a href='$PHP_SELF?dir=img/$file'><img src=img/".$file." width=100 height=100 border></a></td><br>";
        }
echo "<td><a href='$PHP_SELF?dir=img/$file'>".$file."</a></td>";

}else{
for($i=0;$i<count($file);$i++){
         echo "<td><a href='img/$file'><img src=img/".$file." width=100 height=100 border></a></td><br>";
        }
echo "<td><a href='img/$file'>".$file."</a>"."&nbsp;&nbsp;".@filesize($file)."</td>";


}
}
}
?>

Вот что получилось, но это не то что я хочу. Как бы исправить. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 8.2.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(PARROT @ 8.2.2006, 19:33 Найти цитируемый пост)

но вот никак не получается вывести по 7 картинок на строку,

Только чрез таблицы.
И потом вспомни, я уже давал код вывода в такую таблицу.
ЗЫ: А чем glob не катит?
PM ICQ   Вверх
PARROT
Дата 8.2.2006, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Mal Hack, это все что я пока смогла изобразить. Щас бьюсь с выводом, получается но не так. Там выводили из базы. С базой вообще проще работать, чем с директориями и папками.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 8.2.2006, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



PARROT разницы никакой smile
Алгоритм продумай smile
PM ICQ   Вверх
PARROT
Дата 8.2.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Это максимум чего я смогла нарисовать, выручите, никакой алгоритм уже не алгоритмится. Щас голову откручивать начнут.
Код

<table>
<?php
$in_dir = __FILE__;
//$in_dir = "/home/vs/www/img/";
$in_dir = "/home/g/grolvasp/abmi/public_html/img/";   //хостинг директория
$dir = '';
if(isset($_GET['dir'])) $dir = $_GET['dir'];
//echo $in_dir.$dir . "<br><br>";
if($OpenDir=opendir($in_dir.$dir))
{
$j = 0;
$cols = 2;
echo "<tr>";
while(($file=readdir($OpenDir)) !== false)
        if(substr($file, -3) == 'jpg') {//фильтруем и выводим только jpg
if($file != "." && $file != "..")
if(is_dir($in_dir.$dir."/".$file)){

     for($i=0;$i<count($file);$i++){
     if($j ==$cols) {
  echo "</tr><tr>";
  }
         echo "<td><a href='$PHP_SELF?dir=img/$file'><img src=img/".$file." width=100 height=100 border></a><br>";
        }
echo "<a href='$PHP_SELF?dir=img/$file'>".$file."</a>"."&nbsp;&nbsp;( DIR)<BR/></td>";
$j++;
}
else
{
for($i=0;$i<count($file);$i++){
if($j ==$cols) {
  echo "</tr><tr>";
  }
         echo "<td><a href='img/$file'><img src=img/".$file." width=100 height=100 border></a><br>";
        }
echo "<a href='img/$file'>".$file."</a></td>"."&nbsp;&nbsp;".@filesize($file)." <BR/>";
$j++;


}
}
}
?>
</table>

Добавлено @ 21:15
http://abmi.ru/

Это сообщение отредактировал(а) PARROT - 8.2.2006, 21:42


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
PARROT
Дата 8.2.2006, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



ВСЕ!!!!!!!!! УРА! Получилось! smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
CoderUA
Дата 9.2.2006, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 17.10.2005
Где: Ukraine

Репутация: нет
Всего: нет



2 PARROT
Конечто миниатюрки ты делаешь оригинально. В прнципе они ни чем ни отличабтся от их старших собратьев!
PM MAIL ICQ   Вверх
PARROT
Дата 10.2.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Требуется Ваш совет или может даже подсказка, в изменении алгоритма.
Потребовалась сортировка картинок по дате, по числу пришедшей картинки с камеры.
Что мне пришло в голову:
1) Когда читаем названия файлов, то мы их переименовываем по текущей дате создания, тоесть имя картинки будет таким: 9.2.2006, 00:24.jpg
2) При появлении новой картинки, например в 00.00 часов нового дня, создаем папку и складываем все картинки новой даты в эту папку. Тоесть на каждую дату, новую папку.

Какие будут предложения, мысли? дополнения? smile



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Blaga
Дата 10.2.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

Репутация: 2
Всего: 4



PARROT я сам новичок и не уверен что это сработает но... короче где то я видел функцию которая возвращает дату последнего изменения ну вот получать данные из этои функции и по ним вести сортировку. Может быть получится...


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
Mal Hack
Дата 10.2.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



filectime проще юзай если без БД.
PM ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.