日期:2014-05-17  浏览次数:20446 次

分享一点代码(小型C web开发框架)共11篇章 (含全部源代码),范例:用C语言实现的一个WEB 文件上传
本帖最后由 a215318036 于 2011-06-17 10:59:02 编辑
分享一点代码(小型C web开发框架)共11篇章 (含全部源代码),范例:用C语言实现的一个WEB 文件上传
在 windows IIS Apache linux Apache IE Firefox 均测试通过
编译:用Vs2008和GCC 均可编译
共11篇章 (含全部源代码),欢迎各位专家,高手指正!

#include "cgic.h"

#define BufferLen 1024
int cgiMain(void){
    int i = 0;
    char fn[1024];
    char type[1024];
    char name[1024];
    char **responses;

    cgiFilePtr file;
    FILE *fp;
    int targetFile;
    char fileNameOnServer[64];
    char contentType[1024];
    char buffer[BufferLen];
    char *tmpStr=NULL;
    int size;
    int got,t;
    cgiHeaderContentType("text/html");
    fprintf(cgiOut, "<title>C WEB</title>\n");
    fprintf(cgiOut, "<h1>C语言开发</h1>\n");

    fprintf(cgiOut, "<br>cgiServerSoftware %s \n", cgiServerSoftware);
    fprintf(cgiOut, "<br>cgiServerName %s \n", cgiServerName);
    fprintf(cgiOut, "<br>cgiGatewayInterface %s \n", cgiGatewayInterface);
    fprintf(cgiOut, "<br>cgiServerProtocol %s \n", cgiServerProtocol);
    fprintf(cgiOut, "<br>cgiServerPort %s \n", cgiServerPort);
    fprintf(cgiOut, "<br>cgiRequestMethod %s \n", cgiRequestMethod);
    fprintf(cgiOut, "<br>cgiPathInfo %s \n", cgiPathInfo);
    fprintf(cgiOut, "<br>cgiPathTranslated %s \n", cgiPathTranslated);
    fprintf(cgiOut, "<br>cgiQueryString %s \n", cgiQueryString);
    fprintf(cgiOut, "<br>cgiRemoteHost %s \n", cgiRemoteHost);
    fprintf(cgiOut, "<br>cgiRemoteAddr %s \n", cgiRemoteAddr);
    fprintf(cgiOut, "<br>cgiAuthType %s \n", cgiAuthType);
    fprintf(cgiOut, "<br>cgiRemoteUser %s \n", cgiRemoteUser);
    fprintf(cgiOut, "<br>cgiRemoteIdent %s \n", cgiRemoteIdent);