Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: PHP vs CGI

Сообщения:  [1-10]   [11-18] 

 
 автор: SHAman   (07.07.2007 в 19:50)   письмо автору
 
   для: Trianon   (07.07.2007 в 01:44)
 

Никакая не шутка. Относительно C, C++ медленнее, потому что объетно-ориентирован. А если писать на C++ процедурно, то смысла я не вижу.

   
 
 автор: bronenos   (07.07.2007 в 17:48)   письмо автору
 
   для: Trianon   (07.07.2007 в 17:47)
 

пасиба, буду пробовать

   
 
 автор: Trianon   (07.07.2007 в 17:47)   письмо автору
 
   для: bronenos   (07.07.2007 в 17:46)
 

stdlib наверное

   
 
 автор: bronenos   (07.07.2007 в 17:46)   письмо автору
 
   для: Trianon   (07.07.2007 в 17:07)
 

getenv в каком файле?

   
 
 автор: Trianon   (07.07.2007 в 17:07)   письмо автору
 
   для: bronenos   (07.07.2007 в 15:29)
 

как получить доступ к переменным окружения - представляете?
третий параметр main или вызов getenv()

Нету на уровне приложения никаких ассоциативнх массивов.
Есть переменная окружения QUERY_STRING и переменная окружения CONTENT-LENGTH -- оттуда и растут все ноги.

Печатайте список переменных окружения и вперед.

>правда я думал что первая строка HTTP/1.0 200 OK
это я напутал.

   
 
 автор: bronenos   (07.07.2007 в 15:29)   письмо автору
 
   для: Trianon   (07.07.2007 в 13:39)
 

спасибо, на с++ я перевести уж смогу...
правда я думал что первая строка
не 200 HTTP/1.0 OK
а HTTP/1.0 200 OK

а насчет .cgi?id=4
где мне прочитать значение ид?
полагаю что в argv массиве, втором аргумент, но как? в с++ нет ассоциативных массивов..

   
 
 автор: Trianon   (07.07.2007 в 13:39)   письмо автору
 
   для: bronenos   (07.07.2007 в 09:13)
 


#include <stdio.h>

char body[] = 
"<HTML><HEAD><TITLE>test</TITLE></HEAD><BODY><H1>Hi All!</H1></BODY></HTML>" "\r\n";

int main()
{
    printf(
"200 HTTP/1.0 OK"                                     "\r\n"
"Content-Type: text/plain ; charset=\"windows-1251\"" "\r\n"
"Content-Length: %d"                                  "\r\n"
                                                      "\r\n"
"%s"                                                  "\r\n", 
      strlen(body), 
      body);
      return 200;
}


Или Вам нужен именно С++?

   
 
 автор: bronenos   (07.07.2007 в 09:13)   письмо автору
 
   для: Trianon   (07.07.2007 в 01:38)
 

вам не трудно будет написать какую нибудь простенькую программу выводящую Hi all?
а то не совсем понятно все что надо и как :)

   
 
 автор: Trianon   (07.07.2007 в 01:44)   письмо автору
 
   для: SHAman   (06.07.2007 в 17:44)
 

>Что касается C++, то это зря. Он медленнее.

Шутка, да?

   
 
 автор: Trianon   (07.07.2007 в 01:38)   письмо автору
 
   для: bronenos   (06.07.2007 в 17:28)
 

Потому что CGI-хандлеры так не пишут.
CGI-хандлер должен
а) прочитать из стандартного входного потока заголовок запроса
б) определить длину тела запроса, если таковое есть.
в) прочитать из стандартного входного потока тело запроса, если таковое есть.
г) и ни в коем случае не залезть за границу запроса !!!!
д) получить переменные окружения
е) на базе а),в),д) выполнить обработку
ж) сформировать полный набор полей заголовка отклика и выплюнуть его в стандартный выходной поток
з) если есть тело отклика - выплюнуть в стандартный выходной поток разделяющую пустую строку и тело.
и) если тело не пустое - выплюнуть в стандартный выходной поток тело отклика
й) завершить выполнение.

Конечно он многое может не делать, но в отличие от скрипта на php - сформировать заголовок отклика полностью - его непреложная задача:
200 HTTP/1.1 OK
Content-Type: text/plain ; charset="windows-1251"
Content-Length: 10

Проверка

   

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования