ФорумПрограммированиеPHP для идиотов → Позиционирование по вертикали

Позиционирование по вертикали

  • Professor

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 10 июня 2009 г. 18:17, спустя 1 час 4 минуты 14 секунд

    Может кто не спит, и подскажет, какой функцией вспроизвести аналогичное действие?
    $image = new Imagick($uploadfile);



    Картинки просто в цикле меняются, а так
    foreac(…)
    {
    $image = new Imagick($uploadfile);

    $image->thumbnailImage($size[0]*$ratio, $size[1]*$ratio);
    $image->writeImage($uploadfile);
    $image->thumbnailImage($size[0]*$ratio2, $size[1]*$ratio2);
    $image->writeImage($uploadfile_g);

    }

    Рабтать не хочет. Делает только 1 картинку
  • mario

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 10 июня 2009 г. 18:24, спустя 6 минут 34 секунды


    Может кто не спит, и подскажет, какой функцией вспроизвести аналогичное действие?
    $image = new Imagick($uploadfile);



    Картинки просто в цикле меняются, а так
    foreac(…)
    {
    $image = new Imagick($uploadfile);

    $image->thumbnailImage($size[0]*$ratio, $size[1]*$ratio);
    $image->writeImage($uploadfile);
    $image->thumbnailImage($size[0]*$ratio2, $size[1]*$ratio2);
    $image->writeImage($uploadfile_g);

    }

    Рабтать не хочет. Делает только 1 картинку
    ну ты вроде бы не создал объект $image = new Imagick($uploadfile_g);
    попробуй, хотя хз… щас не могу найти скрипт где делал подобное, на ноуте сижу, комп не работает.
    PS споки :)
  • Professor

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 10 июня 2009 г. 18:29, спустя 5 минут 34 секунды

    На локалке раболает, на хосте тока по 1 =(
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 10 июня 2009 г. 18:31, спустя 1 минуту 10 секунд

    Professor, что такое $uploadfile_g? Весь код, которые зависим покажи
    adw/0
  • Professor

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 10 июня 2009 г. 18:35, спустя 4 минуты 23 секунды

    Это превью =)

    собственно весь код

    for($i=0;$i<$count_file;$i++)
    {
    $uploaddir = &quot;galery/f{$id_galery}/i_&quot;;
    $uploaddir_g = &quot;galery/f{$id_galery}/p_&quot;;
    $uploaddir_or = &quot;galery/f{$id_galery}/t&quot;;
    $name_img=basename($_FILES[&#39;myfile&#39;][&#39;name&#39;][$i]);

    if(isset($_FILES[&#39;myfile&#39;][&#39;tmp_name&#39;][$i])&amp;&amp;$_FILES[&#39;myfile&#39;][&#39;tmp_name&#39;][$i]!=&quot;&quot;)
    {
    mysql_query(&quot;INSERT INTO images SET title=&#39;{$name_img}&#39;,id_galery={$id_galery}&quot;);
    $id_img=mysql_insert_id();

    $uploadfile = &quot;{$uploaddir}{$id_img}&quot;;
    $uploadfile_g = &quot;{$uploaddir_g}{$id_img}&quot;;


    if (move_uploaded_file($_FILES[&#39;myfile&#39;][&#39;tmp_name&#39;][$i], $uploadfile))
    {

    $width=800;
    $height=600;

    $size=getimagesize($uploadfile);

    if( $width<$size[0] || $height<$size[1] )
    {
    $ratio=min($height/$size[1],$width/$size[0]);
    }
    else
    {
    $ratio=1;
    }


    if( 100<$size[0] || 100<$size[1] )
    {
    $ratio2=min(100/$size[1],100/$size[0]);
    }
    else
    {
    $ratio2=1;
    }


    $image = new Imagick($uploadfile);

    $image->thumbnailImage($size[0]*$ratio, $size[1]*$ratio);
    $image->writeImage($uploadfile);
    $image->thumbnailImage($size[0]*$ratio2, $size[1]*$ratio2);
    $image->writeImage($uploadfile_g);

    }
    }

    }
    }


    Проблемма в том что только 1 картинка загружается =(
  • Professor

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 10 июня 2009 г. 18:35, спустя 22 секунды

    Может даже не с Imagick связанно =)
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 10 июня 2009 г. 19:03, спустя 27 минут 30 секунд

    делай $image->clear() после работы с картинкой (в конце цикла)
    adw/0
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 10 июня 2009 г. 19:12, спустя 9 минут 11 секунд


    adw0rd, ну-ну :)
    ps. насчет доктайпов не уверен
    но вертикал-алигн — неадекватная хуета


    Да вроде для инлайновых элементов работает во всех браузерах. В простых формах контролы удобно им выравнивать.

    &lt;!DOCTYPE html>
    &lt;html>
    &lt;head>
    &lt;style type=&quot;text/css&quot;>
    p {
    border:1px solid;
    }
    img {
    width:100px;
    height:100px;
    }
    .top {
    vertical-align:top;
    }
    .middle {
    vertical-align:middle;
    }
    .bottom {
    vertical-align:bottom;
    }

    &lt;/style>
    &lt;/head>
    &lt;body>
    &lt;p>
    &lt;img alt=&quot;kartinko&quot; class=&quot;top&quot; />
    &lt;span class=&quot;top&quot;>вверху&lt;/span>
    &lt;/p>

    &lt;p>
    &lt;img alt=&quot;kartinko&quot; class=&quot;middle&quot; />
    &lt;span class=&quot;middle&quot;>по центру&lt;/span>
    &lt;/p>

    &lt;p>
    &lt;img alt=&quot;kartinko&quot; class=&quot;bottom&quot; />
    &lt;span class=&quot;bottom&quot;>внизу&lt;/span>
    &lt;/p>

    &lt;/body>
    &lt;/html>
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 10 июня 2009 г. 19:34, спустя 22 минуты 26 секунд

    Timur, о, типа я прав?)
    adw/0
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 10 июня 2009 г. 19:48, спустя 13 минут 10 секунд

    я вообще не совсем понял о чем у вас спор :)

    Из картинки Professor&#39;а следует, что нужно что-то типа этого:
    &lt;!DOCTYPE html>
    &lt;html>
    &lt;head>
    &lt;style type=&quot;text/css&quot;>
    img {
    vertical-align:middle;
    border:1px solid;
    }
    &lt;/style>
    &lt;/head>
    &lt;body>
    &lt;p>
    &lt;img style=&quot;width:12px; height:34px;&quot; />
    &lt;img style=&quot;width:78px; height:56px;&quot; />
    &lt;img style=&quot;width:90px; height:32px;&quot; />
    &lt;img style=&quot;width:54px; height:65px;&quot; />
    &lt;img style=&quot;width:15px; height:31px;&quot; />
    &lt;img style=&quot;width:62px; height:89px;&quot; />
    &lt;p>
    &lt;/body>
    &lt;/html>


    Просто не всегда удается оставить элемент инлайновым. Если, например, нужно было бы сделать к картинкам подписи, то их бы пришлось заворачивать в блоки, а тогда vertical-align уже не сработает. Ещё тут путаница, из-за того свойство назначается самому элементу, а не его родителю, как это было бы в табличной верстке (valign у ячейки).
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 11 июня 2009 г. 1:03, спустя 5 часов 15 минут 6 секунд

    Вообще, вертикальное центрирование контента произвольной высоты и произвольной структуры, ИМХО, не имеет адекватного решения без таблиц. Все из-за того, что IE6 не поддерживает display: table-cell
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 11 июня 2009 г. 1:33, спустя 30 минут 35 секунд


    md5, я только предположил :)
    я не особо дружу с версткой, все делаю методом тыка :)
    йес, я не один такой)))
  • iMd5

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 11 июня 2009 г. 3:39, спустя 2 часа 5 минут 44 секунды

    Во. АлексБ вкурсе.
  • Professor

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 12 июня 2009 г. 4:10, спустя 1 день 30 минут

    <ul class=&quot;galery&quot;>

    <li>
    <p class=&quot;p1&quot;>
    <a href=&quot;/galery/f60/i_53&quot; class=&quot;lightbox-enabled&quot; rel=&quot;lightbox[kitchen]&quot; ><img src=&quot;/galery/f60/p_53&quot; border=&quot;0&quot; title=&quot;000aarf4.jpg&quot;></a>
    </p>
    <p class=&quot;p_s&quot;>
    скачать
    </p>
    </li>
    <li>
    <p class=&quot;p1&quot;>
    <a href=&quot;/galery/f60/i_52&quot; class=&quot;lightbox-enabled&quot; rel=&quot;lightbox[kitchen]&quot; ><img src=&quot;/galery/f60/p_52&quot; border=&quot;0&quot; title=&quot;04f4017025.jpg&quot;></a>
    </p>
    <p class=&quot;p_s&quot;>
    скачать
    </p>
    </li>
    <li>

    <p class=&quot;p1&quot;>
    <a href=&quot;/galery/f60/i_51&quot; class=&quot;lightbox-enabled&quot; rel=&quot;lightbox[kitchen]&quot; ><img src=&quot;/galery/f60/p_51&quot; border=&quot;0&quot; title=&quot;11f4017035.jpg&quot;></a>
    </p>
    <p class=&quot;p_s&quot;>
    скачать
    </p>
    </li>
    </ul>


    ul.galery
    {
    margin:0px;
    padding:0px;
    }

    ul.galery li
    {
    float:left;
    margin:10px;
    vertical-align:middle;
    text-align:center;
    padding:0px;
    height:120px;
    width:100px;


    }
    ul.galery li p
    {
    margin:0px;
    padding:0px;
    }
    .p1
    {
    height:100px;
    width:100px;
    vertical-align:middle;
    display: table-cell;
    }
    .p1 a
    {
    vertical-align:middle;
    }

    .p_s
    {
    height:20px;
    width:100px;
    }

    .p1 a img
    {

    vertical-align:middle;
    }


    В общем получилось как и сказал AlexB. Работает везде кроме IE =(
  • Frukts

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 18 августа 2012 г. 14:44, спустя 1163 дня 10 часов 34 минуты

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

Пожалуйста, авторизуйтесь, чтобы написать комментарий!