PDA

Просмотр полной версии : Помогите с PHP


vonuchka
17.12.2005, 03:51
Подскажите как сделать чтобы при заходе на страничку каждый раз показывалась разная картинка.
Заранее спасибо

alexcocieru
19.12.2005, 06:56
Pret
Dopustim u tea esti 10 fotok.1.jpg 2.jpg .... 10.jpg

<?php

$image = rand(1,10);

echo"<img src='folder/img/$image.jpg' height='' weight='' />";

?>

Vot i vseo..
:super:

ana
19.12.2005, 11:01
Pret
Dopustim u tea esti 10 fotok.1.jpg 2.jpg .... 10.jpg

<?php

$image = rand(1,10);

echo"<img src='folder/img/$image.jpg' height='' weight='' />";

?>

Vot i vseo..
:super:


Mолодец! Быстро и классно! (сам, как модератор тему проспал :xe )

А если задействовать куки и показывать случайно
картинки, только те которые еще не были показаны?

Будет решение? :7:

Cherneen
25.01.2006, 19:29
Mолодец! Быстро и классно! (сам, как модератор тему проспал :xe )

А если задействовать куки и показывать случайно
картинки, только те которые еще не были показаны?

Будет решение? :7:
А можно чуток иначе???
Нужно что бы скрипт брал из определенной директории на сервере файл изображения случайным образом, уменьшал пропорционально до определенных размеров и результат отображался на сайте.
Заранее спасибо.
я только начинаю.
Скиньте ссылки на русско язычные рессурсы. Если можно.

ana
26.01.2006, 11:59
А можно чуток иначе???
Нужно что бы скрипт брал из определенной директории на сервере файл изображения случайным образом, уменьшал пропорционально до определенных размеров и результат отображался на сайте.
Заранее спасибо.
я только начинаю.
Скиньте ссылки на русско язычные рессурсы. Если можно.

Для этого надо, что бы на сервере была проинсталированна
библиотека GD и именно версия 2.0 и выше! Только тогда
будет качественное изображение.

Это можно проверить вызвав простой скрипт типа
<?
phpinfo();
?>

Если там увидишь строчку типа GDlib 2.0 значит все в порядке,
если нет, то в зависимости от того что у тебя Linux/Windows
надо установить это! Но это уже другая тема

Я использую для этих целей маленькую функцию,
собственного изготовления>



<?php
// http://nowa.ru/showthread.php?p=172107#post172107

// set
$path_to_image = "";
$image_name = "podbor17_21.jpg"; //
$new_w = 171;
$new_h = 600;
$prefix= "nowaRU_";

resizeImage($path_to_image, $image_name, $new_w, $new_h, $prefix);




function resizeImage($path_to_image, $image_name, $new_w, $new_h, $prefix="") {
// Description:
// resize image /
// In:
// $path_to_image - path to image /string/
// $image_name - image name
// $new_w - width of thumbnail /integer/
// $new_h - height of thumbnail /integer/
// $prefix - preifx for file name /string/
// Out:
// thumbnail from image = $path_to_image/prefix + $image_name

// Step1
// create image from source
switch (1) {
case eregi(".jpg$|.jpeg$", $image_name):
$src_img = imageCreateFromJPEG($path_to_image.$image_name);
$jpg = TRUE;
break;
case eregi(".png$", $image_name):
case "PNG":
$src_img = imagecreatefromPNG($path_to_image.$image_name);
$jpg = FALSE; //
break;
default:
echo "only .jpg & .png supported!";
exit;
}

// Step2
// resize image
if ($src_img) {
// get width and height from image
$old_x = imageSX($src_img);
$old_y = imageSY($src_img);
$k = $old_x/$old_y;
// logic for resize. Set width & height
$thumb_h = $new_w/$k;
if ($thumb_h <= $new_h) {
//
$thumb_w = $new_w;
}else{
//
$thumb_h = $new_h;
$thumb_w = $new_h * $k;
}

$dst_img001 = ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img001,$src_img,0,0,0,0,$t humb_w,$thumb_h,$old_x,$old_y);

// Step3
// create file
if ($jpg) {
imagejpeg($dst_img001,$path_to_image.$prefix.$imag e_name);
}
else { // png
imagepng($dst_img001,$path_to_image.$prefix.$image _name);
}

// Finish
// destroy image file
imagedestroy($dst_img001);
imagedestroy($src_img);
}else {
// error ignore
}
return;
}
?>


Работающий пример с картинкой можно взять здесь (http://rapidshare.de/files/11853977/nowa.rar.html)


А вот так выглядит картинка до уменьшения>
http://de.fishki.net/picsn/podbor17_21.jpg

а вот так после скрипта>

http://imageshare.free.fr/upload/nowaRU_podbor17_21.jpg


Если есть ещё вопросы, пожалуйста!

Удачи!

fanii
01.02.2006, 12:20
И еще желательно проставить средставми php, чтобы запретить кеширование страницы броузером. Чтобы у клиента действительно разные картинки показывались

ana
01.02.2006, 13:42
И еще желательно проставить средставми php, чтобы запретить кеширование страницы броузером. Чтобы у клиента действительно разные картинки показывались


Самое простое решение добавить в название файла постоянно изменяющуюся или случайную величину, я предпочитаю использовать функцию time() /время назад поворачивать ещё никто не научился/

Поэтому prefix в названии файла
$prefix= "nowaRU_";

добавляем функцию time()
$prefix= "nowaRU_".time()."_";

теперь новое название картинки будет
nowaRU_%UNIX TIMESTAMP%_%имя картинки%

Enjoy!
:гуляем

Greeck
14.04.2006, 08:26
Есть вопрос? Как залить на хост мой сайт? Залил. Но ошибка. Пишет, что ошибка с Маискюл? :(

Alen
15.04.2006, 16:37
Есть вопрос? Как залить на хост мой сайт? Залил. Но ошибка. Пишет, что ошибка с Маискюл? :(

Когда появляется ошибка? Если при работе скрипта - то дело в самом PHP-scripte, насколько я понимаю.

Скорее всего, нужно проверить настройки самой базы на серваке, либо те данные, которые используются в скрипте при соединении с базой.

ana
15.04.2006, 19:34
Есть вопрос? Как залить на хост мой сайт? Залил. Но ошибка. Пишет, что ошибка с Маискюл? :(

Example 1. mysql_connect() example


<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>


www.php.net :cool:

msa
12.11.2007, 15:12
народ, хелп!:sos:
Где взять код для on-line каталога мебели? Нужно чтоб в БД добавлялась мебля, а потом чтоб отбирало с БД и по страничкам разбивало

rkolarov
18.11.2007, 20:01
скачи библиотека image modifier