Здравствуйте. имеется вопросик: существует 2-а файлика.
Выполняющие то, что берут картинки из папки и создают их аналогии в мелком и более крупном формате с надписью. Мелкие служат для ссылки на большие. При наведение на них появляется ссылка. И если нажать на неё, то происходит переход на более крупную картинку. Пример. http://s1.ipicture.ru/Gallery/Viewfull/26946437.html
Первый файл основной и по нему вопросы, второй вызывающийся и дополняющий. Как сделать так чтобы в ссылке был не адрес картинки, а сам скрипт. И преобразование картинки происходило по нажатию на меньший вариант а не сразу же при заходе на страничку. Как я понимаю нужно шаманить в этих строчках. if (!file_exists("./txt/".$file))@img_text($dir,$file); - выполняется автоматом при заходе на страничку что не нужно. echo("<tr><td>"."<a target=blank href="."./txt/"."$file".">"."<img src="."./prv/"."$file".">");
| Код | <?php $dir = "./img/"; // выборка изображений require ('41.php'); // подключение файла 41. if(is_dir($dir)) // проверка есть ли эта директория if($dh=opendir($dir)) // открывает этот каталог и начинает работать с его содержимым. { while(($file=readdir($dh))!==false) //Возвращает имя следующегоедующего по порядку элемента каталога { if(($file == ".") || ($file == "..")) continue; $file_name =@imagecreatefromjpeg($dir.$file); //создание нового изоб. из файла и отключение ошибки @ -отключение ошибки. if (!file_exists("./prv/".$file))@img_thumb($dir,$file); if (!file_exists("./txt/".$file))@img_text($dir,$file); $file_name =@imagecreatefromjpeg("./prv/".$file); //создание нового изоб. из файла echo("<tr><td>"."<a target=blank href="."./txt/"."$file".">"."<img src="."./prv/"."$file".">"); // вывод изображений и описание алреса скрипта. //echo("<tr><td>"."<a target=blank href="."./txt/"."$file".">"."<img src="."./prv/"."$file".">"); } } closedir($dh); ?>
|
| Код | <?php function img_thumb($dir,$file) { if (file_exists($dir.$file)) // проверка есть ли файл картинка { define('PIC', 50); // замена pic на 50 $size = getimagesize($dir.$file); //получаем значения картинки ширину высоту тип изображения $x=$size[0]; // ширина $y=$size[1]; // высота $source = imagecreatefromjpeg($dir.$file); //создание нового изоб. из файла $target = imagecreatetruecolor(PIC,PIC); // создание нового изображение if (($x>PIC) or ($y>PIC)) if ($x>$y) { $ratio=$x/PIC; $ny=$y/$ratio; $nx=PIC; $padx=0; $pady=($nx-$ny)/2; } else { $ratio=$y/PIC; $nx=$x/$ratio; $ny=PIC; $pady=0; $padx=($ny-$nx)/2; } imagefill($target, 0, 0, imagecolorallocate($target,255, 255, 255)); // заливка значениями + цвета. imagecopyresampled($target,$source,$padx,$pady,0,0,$nx,$ny,$x,$y); //копирует прямоугольную часть изображения в другое изображение, //плавно интерполируя пикселные значения таким образом, что, в частности, уменьшение размера изображения сохранит его чёткость imagejpeg($target,"./prv/".$file); // вывод изображения в папку } } function img_text($dir,$file) // функция добавления текста на картинку. { if (file_exists($dir.$file)) // проверка есть ли файл картинка { $img = imagecreatefromjpeg($dir.$file); //создание нового изоб. из файла $color=imagecolorallocate($img,100,10,100); // заливка значениями + цвета. imagestring($img,5,100,100,"(c)text1yg",$color); // рисует строку s на изображении image с координатами x, y $color=imagecolorallocate($img,10,65,35); // заливка значениями + цвета. imagestring($img,5,10,10,"(c)text1yg",$color); // рисует строку s на изображении image с координатами x, y $color=imagecolorallocate($img,255,255,80); // заливка значениями + цвета. imagestring($img,5,50,50,"(c)text1yg",$color); // рисует строку s на изображении image с координатами x, y imagejpeg($img,"./txt/".$file); // вывод изображения в папку } }
?>
|
Буду вам очень благодарен и рад за ваши предложения и поправления. если ничего не понятно говорите буду рад рассказать что я имел ввиду.
|