RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 483
от 10.10.2006, 04:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 367, Экспертов: 50
В номере:Вопросов: 3, Ответов: 8


Вопрос № 57690: Здравствуйте. Такая проблема: есть движок DataLife. Он использует шаблоны типа *.tpl. Чтобы вывести какую-нибудь информацию посредством PHP на главной страничке (шаблон main.tpl) я добавляю его в файл index.php, который передает все данные ша...
Вопрос № 57698: Уважаемые эксперты! К вам такой вопрос: необходимо изменять размер картинки "на лету", но не просто с сохранением пропорций, а с необходимым кадрированием. . вот к примеру, есть картинка, размером 1280х1024, а мне из неё нужно сделать 1024х...
Вопрос № 57718: Создаю такой код в документе: <?php if ($_GET['s'] == 1) { $url = "clauses/1.htm"; } if ($_GET['s'] == 2) { $url = "clauses/2.htm"; } include ($url); ?> Но после него почему то все идет нормальн...

Вопрос № 57.690
Здравствуйте.
Такая проблема: есть движок DataLife. Он использует шаблоны типа *.tpl.
Чтобы вывести какую-нибудь информацию посредством PHP на главной страничке (шаблон main.tpl) я добавляю его в файл index.php, который передает все данные шаблону.
Мне нужно вывести данные из определенного файла на моем севрере в корневой папке (там простой текст).
Я делаю так!

В файле index.php:
$test=include test.php;
$tpl->set('{test}',$test);

В файле main.tpl:
<table><tr><td>
{test}
</td></tr></table>

Выводится текст, только в самом верхнем левом углу....
Никак не могу вставить его прямо внутрь таблицы, которая находится внизу сайта.
Как не комбинировал, текст постоянно вне дизайна встраивается...
Подскажите, как можно привязать или что-нибудь сделать, чтобы текст из нужного мне файла вставлялся в нужную область моего сайта.
Спасибо.
Отправлен: 04.10.2006, 13:07
Вопрос задал: Araks (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Козлов А. С.
Здравствуйте, Araks!
Все правильно. Инструкции include, require и их производные вставляют код или текст в то место, где они вызваны. Для нормального отображения файла test.php примените один из следующих способов:
1. Чтение файла в переменную $str

$fp = fopen("test.php", "r");
$str = file($fp);
$tp;->set('{test}',$test);

2. Вставте инструкцию include в нужное место (хотя может и не получиться):

$tpl->set('{test}',include("test.php"));
---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 9-ый класс)
Ответ отправлен: 04.10.2006, 13:24
Оценка за ответ: 4

Отвечает: Игорь Елизаров
Здравствуйте, Araks!
А какие еще файлы tpl кроме main.tpl проигрываются на странице ?
Вполне возможно, что дело в порядке отображения (проигрывания) файлов.
Первым идет main.tpl а остальные следом.
Поэтому и появляется все вверху экрана.
То есть надо попробовать менять другие шаблоны.

как вариант - переименовать шаблон в main.tpl и уже в нем вставить текст в нужное место.
Ответ отправил: Игорь Елизаров (статус: 6-ой класс)
Ответ отправлен: 04.10.2006, 14:26
Оценка за ответ: 4


Вопрос № 57.698
Уважаемые эксперты! К вам такой вопрос: необходимо изменять размер картинки "на лету", но не просто с сохранением пропорций, а с необходимым кадрированием. . вот к примеру, есть картинка, размером 1280х1024, а мне из неё нужно сделать 1024х768, отношения сторон то разные. . заранее спасибо за ответ!
Отправлен: 04.10.2006, 14:38
Вопрос задал: Бобровский Сергей Сергеевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Дмитрий Иванов
Здравствуйте, Бобровский Сергей Сергеевич!

можно использовать либо GD либо если есть возможность ImageMagick(гораздо эффективней)
в GD создаеш Image с нужным размером и коммандой:

imagecopyresized ( resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH )

копируем туда нужный кусок, одновременно изменяя его размеры.

Как делать это через ImageMagick смотри в www.imagemagick.org документацию

P.S. хотя в твоем случае можно просто сделать resize , так как в примере, что ты дал соотношение сторон как раз одинаковое :)

---------
ставя оценку - подумай, может ты не все описал
Ответ отправил: Дмитрий Иванов (статус: Практикант)
Ответ отправлен: 04.10.2006, 17:56
Оценка за ответ: 3
Комментарий оценки:
че то пробовал пробовал imagecopyresized использовать, никак не получается, не то что бы совсем, но не то, что нужно копируется!


Вопрос № 57.718
Создаю такой код в документе:
<?php
if ($_GET['s'] == 1) { $url = "clauses/1.htm"; }
if ($_GET['s'] == 2) { $url = "clauses/2.htm"; }
include ($url);
?>

Но после него почему то все идет нормально, только вот выдается ошибка:
Call to undefined function: inlcude() in /home/tktavru/www/know.php on line 51
Что делать? К хостингу обращаться? Права в папках есть, права стоят вроде...
Отправлен: 04.10.2006, 17:15
Вопрос задал: Фадеев Руслан Сергеевич (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Евгений Крюков
Здравствуйте, Фадеев Руслан Сергеевич!
Ответ однозначный - обращайтесь к хостеру, скорее всего php там работает в safe_mode, так что в перспективе готовься к переезду на новый хостинг.
---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.
Ответ отправил: Евгений Крюков (статус: Студент)
Ответ отправлен: 04.10.2006, 17:36

Отвечает: Загиров Рустам
Здравствуйте, Фадеев Руслан Сергеевич!
Вы просто неправильно написали функцию. Правильно будет так:
include()
---------
Этот мир обречён на нас
©Сергей Маврин
Ответ отправил: Загиров Рустам (статус: Практикант)
Ответ отправлен: 04.10.2006, 18:07

Отвечает: Олег Владимирович
Здравствуйте, Фадеев Руслан Сергеевич!

Попробуйте написать
include "$url";
т.е. не в виде функции, а в виде оператора

Удачи!
---------
Факультет ПМ-ПУ - лучший в СПбГУ!
Ответ отправил: Олег Владимирович (статус: 4-ый класс)
Ответ отправлен: 04.10.2006, 21:39

Отвечает: Cimus
Здравствуйте, Фадеев Руслан Сергеевич!
Давайте разберём строку с ошибкой
Call to undefined function: inlcude() in /home/tktavru/www/know.php on line 51
тут сказано, что функции inlcude() просто НЕ существует!!!!
Нужно писать include() !!!
Ваш код я бы переписал вот так
<?php
if ($_GET['s'] == 1) { $url = "./clauses/1.htm"; }
if ($_GET['s'] == 2) { $url = "./clauses/2.htm"; }
include ($url);
?>

---------
Достичь можно любых высот !
Ответ отправил: Cimus (статус: 8-ой класс)
Ответ отправлен: 04.10.2006, 21:58

Отвечает: Козлов А. С.
Здравствуйте, Фадеев Руслан Сергеевич!
Скорее всего, что в своих настройках намудрил провайдер. Но для очистки совести попытайтесь воспользоваться следующими функциями:
require()
require_once()
include_once()
---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 9-ый класс)
Ответ отправлен: 05.10.2006, 01:23


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное