Перейти к содержимому


- - - - -

==> ОШИБКИ


  • Закрытая тема Тема закрыта
Сообщений в теме: 5

#1 amingo

amingo

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 09.10.2008, 01:15

Такой код
<?php
header("Content-type: image/png");
$im = @imagecreate(110, 20)
	or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>
в содержимом странички не работает. include тоже не помогает. ругается на файл php.php

#2 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 09.10.2008, 06:32

 amingo (9.10.2008, 5:15) писал:

Такой код
<?php
header("Content-type: image/png");
$im = @imagecreate(110, 20)
	or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>
в содержимом странички не работает. include тоже не помогает. ругается на файл php.php
В содержимом страницы не сработает, т.к. код изображения будет оформлен в шаблон сайта.

Какой результат в конечном итоге хотите получить? Генерация изображения для каптчи, для меню? В любом случае может потребоваться подправить файл .htaccess и направлять запросы напрямую Вашему скрипту минуя движок, если сохранение изображения в файл недопустимо.

P.S. Кстати, рекомендую убрать подавление ошибки (значёк собачки, @) перед вызовом функции imagecreate, т.к. запрещать вывод ошибок лучше используя display_errors и/или error_reporting.

#3 amingo

amingo

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 09.10.2008, 14:16

фильтр обработки изображений отключал - не помогает.
Хотел вставить форму обратной связи Прикрепленный файл  contacts.com.zip   4,84К   30 Количество загрузок:
наткнулся на вилы  :( . Форма полностью рабочая, под денвер заточеная. Так что сама по себе работает.
А в составе с Lite не хочет. Буду благодарен за помощь.

#4 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 10.10.2008, 08:49

 amingo (9.10.2008, 18:16) писал:

фильтр обработки изображений отключал - не помогает.
Хотел вставить форму обратной связи contacts.com.zip
наткнулся на вилы  :( . Форма полностью рабочая, под денвер заточеная. Так что сама по себе работает.
А в составе с Lite не хочет. Буду благодарен за помощь.
А как подключаете?

#5 amingo

amingo

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 16.10.2008, 21:51

Цитата

А как подключаете?
@@filter=php
<?php
include('contacts.php');
echo $content;
так все показывает, кроме картинки кода

#6 support

support

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 1 140 сообщений

Отправлено 17.10.2008, 13:12

 amingo (17.10.2008, 1:51) писал:

@@filter=php
<?php
include('contacts.php');
echo $content;
так все показывает, кроме картинки кода
Можно попробовать поступить следующим образом:
Считаем, что форма обратной связи будет доступна по адресу http://вашдомен/feedback.html

Создаём в папке используемой темы сайта папку modules, в ней папку feedback. Перемещаем файлы contacts.php и contacts.ini в эту папку. В ней же создаём файл feedback.php. Например, templates/default/modules/feedback/feedback.php. Содержимое этого файла:

<?php
class zmodule_feedback extends zmodule {
	public function getPage ($uri) {
		$content = '';
		// При подключении данного файла переменная $content будет содержать форму обратной связи
		require_once(dirname(__FILE__) . '/contacts.php');
		return zpage::createPage(array(
			'pagepath' => 'feedback',
			'charset' => 'windows-1251', // изменить на кодировку, используемую в файле contacts.php
			'title' => 'Обратная связь', // указывается в кодировке, заданной выше, т.е. в windows-1251
			'breadcrumb' => 'Обратная связь', // указывается в кодировке, заданной выше, т.е. в windows-1251
			'cache' => 'off', 
			'body' => $content,
		));
	}
}

Далее в корне папки в файле index.php заменяем последнюю строчку:

zengine::run(ZENGINE);

на вот это:

zengine::run(current(explode('?', ZENGINE)));

После чего форма будет отображаться вместе с картинкой. Я не проверял отправку запроса, но сама форма с картинкой у меня показывается. Поэтому если что-то не заработает, пишите. Если заработает - тоже пишите.

P.S. Могут быть проблемы с кодировками, которые легко решаются. Если используете UTF-8 редактор, то можно содержимое модуля сделать вот таким:

<?php
class zmodule_feedback extends zmodule {
	public function getPage ($uri) {
		$content = '';
		// При подключении данного файла переменная $content будет содержать форму обратной связи
		require_once(dirname(__FILE__) . '/contacts.php');
		return zpage::createPage(array(
			'pagepath' => 'feedback',
			'charset' => 'utf-8',
			'title' => 'Обратная связь', // указывается в кодировке, заданной выше, т.е. в utf-8
			'breadcrumb' => 'Обратная связь', // указывается в кодировке, заданной выше, т.е. в utf-8
			'cache' => 'off', 
			'body' => iconv('windows-1251', 'utf-8', $content), // перекодируем форму в кодировку utf-8
		));
	}
}

Если содержимое файла contacts.ini указано в кодировке utf-8, то перекодирование формы можно убрать, заменив на:

'body' => $content,





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей