Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 193
от 02.12.2005, 13:00

Администратор:Калашников О.А.
В рассылке:Подписчиков: 205, Экспертов: 31
В номере:Вопросов: 1, Ответов: 1


Вопрос № 30287: Здраствуйте! imageresizad.php Уменьшает размер изображений <?php header('Content-type: image/jpeg'); $pic= !empty($_GET['pic']) ? $_GET['pic'] : 'nofile.jpg'; if ($pic{0}=='.') die("Hack attempt"); // защита ...

Вопрос № 30.287
Здраствуйте!
imageresizad.php
Уменьшает размер изображений
<?php
header('Content-type: image/jpeg');
$pic= !empty($_GET['pic']) ? $_GET['pic'] : 'nofile.jpg';

if ($pic{0}=='.') die("Hack attempt"); // защита от просмотра файлов начинающихся с точек
if (strpos($pic,"/")!==false) die("HAck attempt!"); // защита от файлов с / в адресе.
//if (strpos($pic,"")!==false) die("HAck attempt!"); // защита от файлов с в адресе.

$myimage = resizeImage('gallery/'.$pic, '150', '120');
print $myimage;

//$myimage = resizeImage('filename', 'newwidthmax', 'newheightmax');
//$myimage = resizeImage('nightwish.jpg', '150', '120');
//print $myimage;

function resizeImage($filename, $newwidth, $newheight){
list($width, $height) = getimagesize($filename);
if($width > $height && $newheight < $height){
$newheight = $height / ($width / $newwidth);
} else if ($width < $height && $newwidth < $width) {
$newwidth = $width / ($height / $newheight);
} else {
$newwidth = $width;
$newheight = $height;
}
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
return imagejpeg($thumb);
}
?>

gallery.php
галерея
<?php
$imageNames = array ();

$d = dir("includes/bands/nightwish/gallery");
while (false !== ($entryc = $d->read())) {
if ($entryc != "." && $entryc != "..") {
//Добавляем имя файла в массив
array_push($imageNames, $entryc);
}
}
$d->close();

echo "<table border='1'>";
for ($i=0; $i<3; $i++) {
echo "<tr>";
for ($j=0; $j<3; $j++) {
echo "<td align='center' valign='center'><img src='imageresized.php?file=".urlencode($imageNames[$i*3+$j])."'></td>";
}
echo "</tr>";
}
echo "</table>";
?>

Здесь получается что все изображения выстраиваются в таблице 3x3 независимо от количества изображений.
Как сделать так, что бы таблица строилась по количеству изображений в папке (gallery)? А если картинок нехватает на последние ячейки, то эти ячейки были пустыми. Или второй вариант: как сделать страницы (|1|2|3|)?
Заранее Большое Спасибо.
Отправлен: 26.11.2005, 21:39
Вопрос задал: Mamont (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Дмитрий Иванов
Здравствуйте, Mamont!
1. не использовать имя файла , а допустим порядковый номер
2.загонять все имена файлов в array и использовать их порядковый номер, от сюда вычислить страницу проще простого.

на счет таблицы - используй что то вроде... продлжение в приложении:

P.S. по старой перловской привычке не перевариваю echo ;)

Приложение:

---------
ставя оценку - подумай, может ты не все описал.

Ответ отправил: Дмитрий Иванов (статус: 6-ой класс)
Отправлен: 27.11.2005, 01:43


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное