Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка в HTML результата PHP с изображением, вставка кода PHP в HTML include image 
V
    Опции темы
miraz
Дата 26.5.2008, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Может кто сталкивался с этим.
Суть такова: HTML страница в которую с помощью include вставляются PHP файлы. Уже добавлено простенькое голосование, тоже includ - все встало и работает, но теперь надо добавить php  файл с простым котодом, который, в зависимости от текущего времени выдает определенный рисунок. Отдельно все работает, правда время еще не подключено, но картинки выдает правильно, а вот, когда все это вставлено в шаблон, то картинка показывается в виде абракадабры какой-то, я плохо в этом разбираюсь, но судя по всему, она выдается как текст :(. Что делать? Где здесь собака порылась в HTML  или в РНР? Все файлы с расширениями php.  
PM MAIL   Вверх
skyboy
Дата 26.5.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(miraz @  26.5.2008,  16:22 Найти цитируемый пост)
а вот, когда все это вставлено в шаблон, то картинка показывается в виде абракадабры какой-то

а как оно вставляется в шаблон? надеюсь, в виде "<img src='путь_к_формирующему_РНР_скрипту' />"?
PM MAIL   Вверх
miraz
Дата 26.5.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



 smile Обалдеть! А слона то я и не заметила! Этот вариант был самым первым, но там что-то не срослось, и потом пошло все посложней. Спасибочки! Может подскажешь, какую функцию использовать чтоб картинки эти по времени выдавались? А то, я опять начну велосипед изобретать smile.
PM MAIL   Вверх
Feldmarschall
Дата 26.5.2008, 18:25 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Девушка.
Настоятельно рекомендую прочесть вот это: PHP FAQ: Самые основы. Как работает PHP., чтобы не путаться, где у вас рнр, где хтмл, а где яваскрипт.

функция, которая работает в РНР c временем, называется date()

PM   Вверх
miraz
Дата 26.5.2008, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Обязательно прочту smile. Но сейчас нет времени, срочно надо работу сдать. Вставила я эту функцию и нифига не работает. Наверное, как обычно раком :(
Код

<?php
$time=date("H:i:s");
if(($time>=07:01:00)and($time<=08:00:00))
{
$file=fopen("svin.jpg", "rb");
    fpassthru($file);
    exit;
}
    elseif (($time>=8:01:00)and($time<=12:00:00))
    {
    $file=fopen("utro.jpg", "rb");
    fpassthru($file);
    exit;
    }
    elseif (($time>=12:01:00)and($time<=14:00:00))
    {
    $file=fopen("obed.jpg", "rb");
    fpassthru($file);
    exit;
    }
    elseif (($time>=14:01:00)and($time<=17:00:00))
    {
    $file=fopen("ovca.jpg", "rb");
    fpassthru($file);
    exit;
    }
    elseif (($time>=18:01:00)and($time<=24:00:00))
    {
    $file=fopen("svin.jpg", "rb");
    fpassthru($file);
    exit;
    }
?>
    Что не так?

PM MAIL   Вверх
skyboy
Дата 26.5.2008, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(miraz @  26.5.2008,  17:37 Найти цитируемый пост)
Наверное, как обычно раком :(

ещё бы. 
Цитата(miraz @  26.5.2008,  17:37 Найти цитируемый пост)
12:01:00

ошибка. нет формата записи такого. это и не число, и не строка...
это раз.
Цитата(miraz @  26.5.2008,  17:37 Найти цитируемый пост)
fpassthru

не отдает заголовки, специфические для графических форматов. может быть больно, обидно и не отображаться. чтоб отдавать медиа-контент есть вполне отдельные функции(imagejpeg, например).
это два.
у тебя с точностью до часа определяется, значит выбирать минуты и секунды тебе необязательно. достаточно определить час и сравнивать почасово. 
это три.
ты все-так почитай то, ссылку на что дал тебе Feldmarschall. Очень познавательно и дает массу информации.
это четыре smile
PM MAIL   Вверх
Feldmarschall
Дата 26.5.2008, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



надо сначала отлаживать свои конструкции.
а потом уже в файл вставлять.


PM   Вверх
miraz
Дата 26.5.2008, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Ребят, у меня уровень, ниже плинтуса, с сожалению, и почти ничего из написаного я не поняла. А на сате этом я уже прописалась, как и везде, там примеры - просто никакие, а чуть сложней- и полная задница. О времени, секунды, конечно, нафиг не нужны, но минуты нужны. Ладно, пойду искать. Спасибо!
PM MAIL   Вверх
bobik02
Дата 26.5.2008, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 451
Регистрация: 26.11.2007

Репутация: 2
Всего: 14



Цитата(miraz @  26.5.2008,  19:45 Найти цитируемый пост)
Ребят, у меня уровень, ниже плинтуса, с сожалению, и почти ничего из написаного я не поняла.

Ниже плинтуса не упадете! 
И что мешать поднять свой уровень выше крыши ?   smile 



--------------------
Have a nice day
PM   Вверх
miraz
Дата 26.5.2008, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



smile да ничего, по большому счету. Просто нужно время и желание. Желание есть, а со временем - проблемка (даже приблемище), к четвергу надо сдать сайт на проверку, иначе... плакали мои денежки smile). Хотя не в них дело.
PM MAIL   Вверх
skyboy
Дата 26.5.2008, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



fopen + fpassthru заменяешь на imagecreatefromjpeg + imagejpeg.
сравниваешь date("H") и целые значения часов, date("i") и значение минут.
в своих if'ах только выбираешь имя файла, а вывод выносишь за эти всякие if'ы. так у тебя код сокращается до 14 строк.

PM MAIL   Вверх
Feldmarschall
Дата 26.5.2008, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



skyboy, а это ещё зачем - imagecreatefromjpeg + imagejpeg.???
PM   Вверх
skyboy
Дата 26.5.2008, 20:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(miraz @  26.5.2008,  19:22 Найти цитируемый пост)
иначе... плакали мои денежки

надеюсь, ты этой фразой не рассчитываешь вызвать сочувствие? разве тебя заставляли браться за эту работу?

Добавлено через 4 минуты и 33 секунды
Feldmarschall, чтоб не объяснять, какие заголовки надо отправлять и почему.
впрочем, может я ошибаюсь, и fpassthru волшнебным образом определит mime-type и отправит content-type: image/jpeg?
PM MAIL   Вверх
miraz
Дата 26.5.2008, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Жизнь заставила, после смерти мужа осталось куча программ написанных на РНР, они мне нужны, но там иногда надо производить изменения, а я нифига не понимаю, вот и ввязалась в это дело. Хотя могла всё бросить, конечно. А сейчас, просто надо закончить курсы, доделать хоть как-то этот несчастный сайт, так что, об оптимизации кода пока речи не идет smile, хоть бы как-то работало smile. Спасибо за совет, попробую что-то изменить. smile Может получится...
PM MAIL   Вверх
skyboy
Дата 26.5.2008, 21:02 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260





Добавлено через 7 минут и 9 секунд
Цитата(miraz @  26.5.2008,  19:59 Найти цитируемый пост)
после смерти мужа

довольно изобретательное оправдание лени  smile 
PM MAIL   Вверх
miraz
Дата 26.5.2008, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Думаешь это шутка? У меня начали дохнуть интернет-магазины, один за другим, и ничего сделать не могла. Занимаюсь я всем этим, всего месяц, и то не постоянно. Как ты думаешь, много можно узнать за такое время? smile а на форумах у всех- склероз, они не помнят себя через месяц после начала и выпендриваются. Ладно. Не по теме пошло общение.
PM MAIL   Вверх
Feldmarschall
Дата 26.5.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



skyboy, а imagecreatefromjpeg + imagejpeg - отправит?
а если б даже отправляло - это не слишком ли - создавать объект гд, вместо того, чтобы просто прочитать файл?

Это сообщение отредактировал(а) Feldmarschall - 26.5.2008, 22:26
PM   Вверх
skyboy
Дата 26.5.2008, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Feldmarschall @  26.5.2008,  21:25 Найти цитируемый пост)
skyboy, а imagecreatefromjpeg + imagejpeg - отправит?

нет, не отправляет.
прошу прощения за попытку ввода в заблуждение.
fopen + fpassthru в таком случае лучше дополнить заголовками, как показано в примере по использованию fpassthru(Content-Type и Content-Length)
Цитата(Feldmarschall @  26.5.2008,  21:25 Найти цитируемый пост)
это не слишком ли - создавать объект гд, вместо того, чтобы просто прочитать файл?

если бы отправляло, как я считал, я бы не стал придираться к нагрузке. да, бессмысленная работа выполняется. да, потенциально нагружает сервер. да, есть более адекватные решения. но если дело только в нагрузке и при этом избегается лекция на тему "что такое заголовки и с чем их есть" - лучше бы порекомендовал imagejpeg. все равно, рано или поздно поднялся бы вопрос о кешировании и Last-Modified, так что с заголовками разобрались бы. просто позже.
PM MAIL   Вверх
Fortop
Дата 27.5.2008, 00:34 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(miraz @  26.5.2008,  21:15 Найти цитируемый пост)
Занимаюсь я всем этим, всего месяц, и то не постоянно.

Нанимай специалиста. Либо занимайся постоянно.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
MoLeX
Дата 27.5.2008, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140




Модератор: Сообщение скрыто.



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
miraz
  Дата 27.5.2008, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Спасибо! Это самый дельный совет, который я здесь получила  smile  
PM MAIL   Вверх
MoLeX
  Дата 27.5.2008, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



miraz, а можно еще раз вопрос. просто мельком пролестав топик увидел что главный решился (поравь если ошибся) а побочные нет, но из-за большого количества флейма и советов лень выискивать главное


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
miraz
Дата 27.5.2008, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Цитата

главный решился (поравь если ошибся) а побочные нет,

это совсем не поняла :(
Цитата

 из-за большого количества флейма

что ты имеешь в виду под "фреймом"?
PM MAIL   Вверх
MoLeX
Дата 27.5.2008, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



ну вот опять флейм (это такое необузданное место, лучше туда не ходить, а то снег попадет в голову или еще что похуже случится).

ну как понял у тебя не получалось вставить картинку сгенерированную с помощью РНР в хтмл код, тебе skyboy (если не ошибаюсь) объяснил как это сделать. какие еще вопросы возникли дальше?


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 27.5.2008, 07:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



skyboy, зря упорствуешь.
GD - одна из вещей, которые действительно создают нагрузку на сервер. И кэширование здесь не при чем.

Девочке, между прочим, даже fpassthru не нужно.

Ей нужен динамически меняющийся тег img
то есть, вставка кода с date в основной скрипт
PM   Вверх
MoLeX
Дата 27.5.2008, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(Feldmarschall @  27.5.2008,  07:49 Найти цитируемый пост)
то есть, вставка кода с date в основной скрипт 

что то типо такого
Код

<img src="images.php?time=<?=time();?>"



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Feldmarschall
Дата 27.5.2008, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



о господи
    
<img src="<?=$time?>.jpg"
PM   Вверх
miraz
Дата 27.5.2008, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Картинка встала, благодаря skyboy smile, это я, конечно, суперски прозевала. А теперь надо, чтоб картинки выдавались по времени. Утром одна, в обед- другая и т.д. 
PM MAIL   Вверх
Feldmarschall
Дата 27.5.2008, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



miraz, для этого надо писать код, который не картинки выдает, а слово - обед, ужин, утро.
и не вставлять этот код в рабочий сайт, а писать в отдельном файлике.
и только после того, как он перестанет тебе писать ошибки синтаксиса, а начнет выдавать, что нужно - только после этого его начинать использовать.
А у тебя сейчас - как в том анекдоте: "Я печатаю со скоростью 2000 знаков в минуту. Но такая фигня получается..."
толку-то с того, что ты написала такой большой и красивый код? Если в нем даже один элемент - сравнение даты не работает? 
код надо писать постепенно. 
напиши echo 18:00; и посмотри, что оно тебе выведет. Совсем не то, что ожидалось, правда? Ну так зачем городить сразу большой код, если в самом начале у него уже ошибка?


PM   Вверх
MoLeX
Дата 27.5.2008, 08:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



а, вот какая задача. 
а нельзя было хотя бы так сделать?
Код

if(date("H") >= "00" AND date("H") <= "12")
{
    echo "images 1";
}
elseif(date("H") >= "12" AND date("H") <= "18")
{
    echo "images 2";
}
elseif(date("H") >= "18" AND date("H") <= "23")
{
    echo "images 3";
}
else
{
    echo "images ";
}


Это сообщение отредактировал(а) MoLeX - 27.5.2008, 09:04


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
miraz
Дата 27.5.2008, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Feldmarschall изначально что-то похожее и было (кроме времени)
Цитата

$laikas=8
if (($laikas>=7) and ($laikas<=11))
{
echo "rytas"
// ну и так далее

и код этот, который должен в картинки подставлять, в отдельном файле, даже в другом каталоге, а в форму передается уже результат. Я конечно, неумная, но не до такой степени, чтоб и форму и код в одном файле писать, тогда там сам черт ногу сломит :(. Когда все это было в том виде как выше написано- все работало, какую цифру поставишь, соответсвенно ту картинку и выдавал, а вот, когда дошло до выдачи по времени- началось. Согласна, следовало бы начать с этого самого времени, но решила посмотреть будет ли это хоть как-то работать, работать то оно работает, только теперь это к времени надо привязать. Говоришь, это называется сравнение даты? smile Счас поищем.

MoLeX- что-то не фурычет. Что должно стоять перед ифом кроме начального тега, естественно?
PM MAIL   Вверх
MoLeX
Дата 27.5.2008, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



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


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
miraz
Дата 27.5.2008, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 14.5.2008
Где: Литва. Вильнюс

Репутация: нет
Всего: нет



Ура! Работает! smile СПАСИБО!
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0917 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.