Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Работа с a target=blank href и скриптом


Автор: rusianvodka 20.6.2013, 17:22
Здравствуйте. имеется  вопросик: существует 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);                                        // вывод изображения  в папку
}
}

?>



Буду вам очень благодарен и рад за ваши предложения и поправления.
если ничего не понятно говорите буду рад рассказать что я имел ввиду.




Автор: Gromdron 20.6.2013, 20:35
Цитата

   Как сделать так чтобы в ссылке был не адрес картинки а сам скрипт.
   

Цитата

   
   И преобразование картинки происходило по нажатию на меньший вариант.
   


Поясните пожалуйста обе цитаты, не совсем понял что там должен быть за скрипт и какое преобразование должно происходить ?

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//object-id51c3108c6ccc195a3b000002#findElement_E7045_51c33d476ccc193944006c02_0

Автор: Photon 22.6.2013, 10:24
Для того, чтоб кто-то ответил на вопрос, надо сначала научиться грамотно его задавать

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com//object-id51c3108c6ccc195a3b000002#findElement_E7045_51c551176ccc19e538005645_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)