Ламерский вопрос по PHP
зеленый
Новичок
4/12/2006, 8:40:49 PM
Только недавно начал что-то понимать в PHP и стараюсь практиковаться каждый день. Подскажите, знактоки PHP, как сделать постраничный вывод картинок из папки, типа как это сделано на любом сайте с фотками знаменитостей? Чтобы внизу были ссылки-номера страниц.
IT-Master
Новичок
4/13/2006, 2:49:40 AM
Алгоритм таков
1. Открываешь директорию
2. Запускаешь цыкл с заданым нужным количеством прокручиваний ( сколько нужно считать файлов )
3. считываешь n-файл из содержания и выводишь в броузер.
4. Закрываешь цыкл.
5. Закрываешь директорию.
1. Открываешь директорию
2. Запускаешь цыкл с заданым нужным количеством прокручиваний ( сколько нужно считать файлов )
3. считываешь n-файл из содержания и выводишь в броузер.
4. Закрываешь цыкл.
5. Закрываешь директорию.
DELETED
Акула пера
6/19/2006, 12:02:14 AM
Зеленый, если ещё интересно, то напиши. А то впадлу так просто код писать...
Istaan
Новичок
7/11/2006, 7:12:51 AM
мой код фотогалереи.... сам писял..
может кому понадобиться
CODE <?php
$dir_path="foto"; //укажите путь к папке с фотографиями
$op_dir=opendir($dir_path);
while($col=readdir($op_dir))
{
if(($col!=".") && ($col!="."))
{
// с какими расширениями можна использовать картинки
$test1=strpos($col,".jpg");
$test2=strpos($col,".gif");
$test3=strpos($col,".bmp");
if($test1!=0 || $test2!=0 || $test3!=0) $mas_img[]=$col;
}
}
closedir($op_dir);
if (count($mas_img)<=0 or empty($mas_img))
{
echo "<center><font color=red size=4>Не найдены рисунки</font></center>";
}
else
{
if (empty($foto)) $foto=0;
$n = count($mas_img);
echo ("<center>");
echo '<table border=0 width=100%><tr><td><center><b>Foto name</b></center><br></td></tr></table>';
for ($i=0;$i<$n;$i++)
{
if($foto==$i)
echo "<b>[<a href='foto.php?foto=$i'><font color=#00ff00>".$i."</font></a>]</b>";
else
echo "<font>[<a href='foto.php?foto=$i'>".$i."</a>]</font>";
}
echo "</center><br>";
echo "<center><img src='".$dir_path."/".$mas_img[$foto]."'></center>";
echo "<center><br>";
$foto2=$foto+1;
if($foto==0)
{
$foton=$foto+1;
echo "<a href='foto.php?foto=$foton'>Следующая>>></a>";
}
else if($foto==$n-1)
{
$foton=$foto-1;
echo "<a href='foto.php?foto=$foton'><<<Предыдущая</a>";
}
else
{
$foton=$foto+1;
$fotop=$foto-1;
echo "<a href='foto.php?foto=$fotop'><<<Предыдущая</a>";
echo " ::: ::: ";
echo "<a href='foto.php?foto=$foton'>Следующая>>>></a>";
}
echo "</center></form>";
}
?>
может кому понадобиться
CODE <?php
$dir_path="foto"; //укажите путь к папке с фотографиями
$op_dir=opendir($dir_path);
while($col=readdir($op_dir))
{
if(($col!=".") && ($col!="."))
{
// с какими расширениями можна использовать картинки
$test1=strpos($col,".jpg");
$test2=strpos($col,".gif");
$test3=strpos($col,".bmp");
if($test1!=0 || $test2!=0 || $test3!=0) $mas_img[]=$col;
}
}
closedir($op_dir);
if (count($mas_img)<=0 or empty($mas_img))
{
echo "<center><font color=red size=4>Не найдены рисунки</font></center>";
}
else
{
if (empty($foto)) $foto=0;
$n = count($mas_img);
echo ("<center>");
echo '<table border=0 width=100%><tr><td><center><b>Foto name</b></center><br></td></tr></table>';
for ($i=0;$i<$n;$i++)
{
if($foto==$i)
echo "<b>[<a href='foto.php?foto=$i'><font color=#00ff00>".$i."</font></a>]</b>";
else
echo "<font>[<a href='foto.php?foto=$i'>".$i."</a>]</font>";
}
echo "</center><br>";
echo "<center><img src='".$dir_path."/".$mas_img[$foto]."'></center>";
echo "<center><br>";
$foto2=$foto+1;
if($foto==0)
{
$foton=$foto+1;
echo "<a href='foto.php?foto=$foton'>Следующая>>></a>";
}
else if($foto==$n-1)
{
$foton=$foto-1;
echo "<a href='foto.php?foto=$foton'><<<Предыдущая</a>";
}
else
{
$foton=$foto+1;
$fotop=$foto-1;
echo "<a href='foto.php?foto=$fotop'><<<Предыдущая</a>";
echo " ::: ::: ";
echo "<a href='foto.php?foto=$foton'>Следующая>>>></a>";
}
echo "</center></form>";
}
?>
DELETED
Акула пера
7/11/2006, 4:46:31 PM
Молодец, конечно, но автор по-моему уже и сам забыл про эту тему...
Istaan
Новичок
7/12/2006, 5:47:59 AM
(Gold Man @ 11.07.2006 - время: 12:46) Молодец, конечно, но автор по-моему уже и сам забыл про эту тему...
сто пудов забыл по неё... но моет кому то понадобиться и мне не трудно было нажать ctrl+c -> ctrl+v , пару кнопочек нажать и на клавишу оттправить кликнуть)
сто пудов забыл по неё... но моет кому то понадобиться и мне не трудно было нажать ctrl+c -> ctrl+v , пару кнопочек нажать и на клавишу оттправить кликнуть)
DELETED
Акула пера
7/13/2006, 1:38:38 AM
Ну и это правда... Лови плюсик за старания
alexmell
Новичок
8/8/2006, 1:15:44 AM
Может кому и пригодится
Самоучитель по PHP 5 Размер: 7.8 Mb
https://rapidshare.de/files/25663225/samouc...l_PHP5.zip.html
Самоучитель по PHP 5 Размер: 7.8 Mb
https://rapidshare.de/files/25663225/samouc...l_PHP5.zip.html
DELETED
Акула пера
8/8/2006, 5:53:24 AM
(alexmell @ 07.08.2006 - время: 21:15) Может кому и пригодится
Самоучитель по PHP 5 Размер: 7.8 Mb
https://rapidshare.de/files/25663225/samouc...l_PHP5.zip.html
Конечно спасибо, но у меня, к примеру, уже такой есть...
Самоучитель по PHP 5 Размер: 7.8 Mb
https://rapidshare.de/files/25663225/samouc...l_PHP5.zip.html
Конечно спасибо, но у меня, к примеру, уже такой есть...
z006
Новичок
8/31/2006, 5:47:18 AM
(alexmell @ 07.08.2006 - время: 21:15) Может кому и пригодится
Самоучитель по PHP 5 Размер: 7.8 Mb
https://rapidshare.de/files/25663225/samouc...l_PHP5.zip.html
хм,а не проще с https://www.php.net/docs.php на любом нужном тебе языке скачать?
Самоучитель по PHP 5 Размер: 7.8 Mb
https://rapidshare.de/files/25663225/samouc...l_PHP5.zip.html
хм,а не проще с https://www.php.net/docs.php на любом нужном тебе языке скачать?
mvf23
Профессионал
8/31/2006, 6:11:24 PM
мой код фотогалереи.... сам писял..
код не секурный и баговитый... Видно невоороуженным взгядом.
Первое замечание называется "лапша". Перемешивать в одном файле код на PHP и HTML - это не круто.
CODE ($col!=".") && ($col!=".")
БАГА: Видимо ещё одна точка потерялась в одном из сравнений...
Кстати смысла в этих сравнениях все равно нет. Все равно . и .. не пройдут следующего теста
CODE $test1=strpos($col,".jpg");
А как насчет такого имени файла "fucking.jpg.php"?
КРоме того здесь неэффективное решение. 3 сравнения строк выполняются ВСЕГДА. Хотя должны выполняться только в худшем случае...
CODE if($foto==$i)
Использовать суперглобалсы - это дурной тон. ОТсюда могут полезть всякие неприятные ошибки. К тому же она может быть банально не опрелделена.
CODE for ($i=0;$i<$n;$i++)
{
if($foto==$i)
echo "<b>[<a href='foto.php?foto=$i'><font color=#00ff00>".$i."</font></a>]</b>";
else
echo "<font>[<a href='foto.php?foto=$i'>".$i."</a>]</font>";
}
Циферки будут выведены без пробелов, кажися...
CODE echo "<center><img src='".$dir_path."/".$mas_img[$foto]."'></center>";
$dir_path в файловой системе и из веб - вообще говоря - разные вещи. Как насчет "..\foto"?
CODE echo "</center></form>";
form не открывался - зачем закрывать?
Про то что HTML на выходе будет не XHTML совместимый, кривой, без заголовков и т.п. - об этом вообще молчу.
Вроде есть ещё маленькие баги. Но лень выписывать...
код не секурный и баговитый... Видно невоороуженным взгядом.
Первое замечание называется "лапша". Перемешивать в одном файле код на PHP и HTML - это не круто.
CODE ($col!=".") && ($col!=".")
БАГА: Видимо ещё одна точка потерялась в одном из сравнений...
Кстати смысла в этих сравнениях все равно нет. Все равно . и .. не пройдут следующего теста
CODE $test1=strpos($col,".jpg");
А как насчет такого имени файла "fucking.jpg.php"?
КРоме того здесь неэффективное решение. 3 сравнения строк выполняются ВСЕГДА. Хотя должны выполняться только в худшем случае...
CODE if($foto==$i)
Использовать суперглобалсы - это дурной тон. ОТсюда могут полезть всякие неприятные ошибки. К тому же она может быть банально не опрелделена.
CODE for ($i=0;$i<$n;$i++)
{
if($foto==$i)
echo "<b>[<a href='foto.php?foto=$i'><font color=#00ff00>".$i."</font></a>]</b>";
else
echo "<font>[<a href='foto.php?foto=$i'>".$i."</a>]</font>";
}
Циферки будут выведены без пробелов, кажися...
CODE echo "<center><img src='".$dir_path."/".$mas_img[$foto]."'></center>";
$dir_path в файловой системе и из веб - вообще говоря - разные вещи. Как насчет "..\foto"?
CODE echo "</center></form>";
form не открывался - зачем закрывать?
Про то что HTML на выходе будет не XHTML совместимый, кривой, без заголовков и т.п. - об этом вообще молчу.
Вроде есть ещё маленькие баги. Но лень выписывать...