also

Рейтинг
48
Регистрация
10.05.2008
Dreammaker:
с чего вы сделали выводы, что апач что-то добавляет?

С того, что под апачем 1.3 работает, а с 2.0 нет

Dreammaker:
also, ну так смотрите у себя в коде откуда у вас берутся лишние переносы, при добавлении или же при выводе.

хм.. дело в том, что trim(), как оказалось, не повлиял на код, просто новость короче стала, вот и выводит ее. Вывел то, что в переменной:

var tbl_top = ''; var tbl_bot = '<'+'/table>'; var tbl_left = '

'; var tbl_right = ''; var a_url = 'http://news.yanclex.com/./news/'; var a_target = 'target="_blank"'; document.write(tbl_top); var tbl_top = ''; var tbl_bot = '<'+'/table>'; var tbl_left = '
'; var tbl_right = ''; var a_url = 'http://news.yanclex.com/./news/'; var a_target = 'target="_blank"'; document.write(tbl_top);

Лишние переносы ставит апач, вот в чем проблема.

Dreammaker:
also, тьфу :) я подумал, что это не ваш сайт, в подпись не глянул.

Попробуйте вместо $res['text'] написать trim($res['text'])

Хм.. Частично помогло: Если выводить один блок, то работает:

<script src='http://news.yanclex.com/inform/inform3.php?inf=44&num=1&code=utf-8'></script>

Если больше, то нет:

<script src='http://news.yanclex.com/inform/inform3.php?inf=44&num=3&code=utf-8'></script>

До этого не работало даже с одним.😎

Dreammaker:
судя по всему ошибка в коде, который возвращает news.yanclex.com.

Ну так то ясно. Как ее исправить-то? Как я понял, апач принудительно разбивает длинный яваскрипт. Как сделать перенос в коде?

Dreammaker:
also, первым делом показать javascript, который выводится в html.

<script src='http://news.yanclex.com/inform/inform3.php?inf=44&num=1&code=utf-8'></script>

skAmZ:

$nowy_plik=imagecreatetruecolor($x2-$x1,$y2-$y1);
imagecopyresampled($nowy_plik,$zdjecie,0,0,$x1,$y1, $x2-$x1,$y2-$y1, $x2-$x1,$y2-$y1 );

Спасибо огромное, все получилось!

HapKOTuK:
Проблема-то в чём?

Допустим У нас есть картинка 500х500 ($src) и нам надо вырезать у неё прямоугольник в 98х99 пикселей начиная с координаты 51, 52 и сунуть в картинку ($dst) 98х99 пикселей

bool imagecopyresampled ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )

Делается это так:
imagecopyresampled (
$dst,
$src,
0 (координата Х левого верхнего угла прямоугольника в целевой картинке),
0 (координата У левого верхнего угла прямоугольника в целевой картинке),
51 (координата Х левого верхнего угла прямоугольника в исходной картинке),
51 (............... У .................... ),
98 (ширина прямоугольника в целевой картинке),
99 (высота ............),
98 (ширина прямоугольника в оригинальной картинке),
99 (высота.....)
);

Объясню как оно работает еще раз :)

Мы задаём два прямоугольника (_x, _y, _w, _h) прямоугольник SRC и прямоугольник DST.
А потом функция берет все пиксели прямоугольника SRC и ресайзит в прямоугольник DST.
Соответственно если src_w == dst_w && src_h == dst_h - то ресайза не будет, т.к. прямоугольники имеют одинаковый размер, а будет просто кроп.

Понятно? :)

Подставил Ваши значения - то же самое. С нулевыми координатами ресайзит правильно, но нужен не ресайз (

HapKOTuK:
bool imagecopyresampled ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )

dst_x, dst_y, dst_w, dst_h - задают прямоугольную область куда нужно копировать
src_x, src_y, src_w, src_h - задают прямоугольную область в картинке оригинала откуда надо копировать,

_x, _y - это координата точки левого верхнего угла
_w, _h - это НЕ КООРДИНАТА, это смещение от левого верхнего угла.

В вышем случае, если вы хотите сделать просто уменьшенную версию оригинальной картинки, вам нужно
src_x, src_y, dst_x, dst_y - установить в ноль
src_w, src_h - размер оригинальной картинки
dst_w, dst_h - размер превью

остально оно сделает само %)

А что поправить, думаю, поймёте сами :)

Мне нужен не ресайз, а именно вырезание.

Честно сказать - уже всю ночь курил маны, но так и не допер, где прошляпил.. Подскажите, плз, если не сложно.. :(

Чтобы было понятней, о чем я, вот пример работы:

http://up-image.ru/crop/tests/1.php

n1g3r:
Да я не спорю, что сейчас аккаунты на форум продаются (правда не знаю где именно, предположительно на нулледе)
зы. Сорь за исповедь.

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

з.ы. А обвинять ресурс в барыжничестве акками по личным предположениям без доказательств как-то не красиво.

В общем, предложили вариант:

/*
* Исправление кодировки букв "ш" и "И" в MYSQL
* автор: Nc_Soft
* 18.07.09
*/

/*
Частенько встречается при переносе бд, либо при шаманстве с кодировками
буквы "ш" и "И" оказываются битыми (речь идет о utf-8 конечно)
буква "ш" = chr(209).chr(63) / правильно chr(209).chr(136)
буква "И" = chr(208).chr(63) / правильно chr(208).chr(152)
Чтобы пофиксить делаем 2 запроса
*/

UPDATE `tbl` SET `pole` = REPLACE(
`pole`,
CONCAT( CHAR(209), CHAR(63) ),
CONCAT( CHAR(209), CHAR(136) )
);

UPDATE `tbl` SET `pole` = REPLACE(
`pole`,
CONCAT( CHAR(208), CHAR(63) ),
CONCAT( CHAR(208), CHAR(152) )
);

но тоже не прокатило. Возможно потому, что в базе прописало другие символы (в переменной они выглядят, как &#65533;?, а в базе просто два вопросительных знака). Пришла тут в голову идея заменить эти самые &#65533;? на "И" через preg_replace в самой переменной. Кто умеет составлять регулярки, откликнитесь, плз!

also добавил 02.04.2010 в 00:17

Все, вопрос решен, тему можно закрыть.

Всего: 73