当前位置:  技术问答>linux和unix

求助!!在linux下如何用c写CGI文件上传程序遇到的问题。

    来源: 互联网  发布时间:2015-06-02

    本文导语:  我现在做了一个文件上传的CGI程序,用C++写的;这个程序在window下运行正确,可以收到并建立上传的文件,但是我把它放在linux下,用C来写遇到几个问题: 1、在linux下没有setmode(_fileno(stdin), _O_BINARY)函数;于是我直接...

我现在做了一个文件上传的CGI程序,用C++写的;这个程序在window下运行正确,可以收到并建立上传的文件,但是我把它放在linux下,用C来写遇到几个问题:
1、在linux下没有setmode(_fileno(stdin), _O_BINARY)函数;于是我直接将其注释掉了;
2、我把CreateFile和WriteFile函数改成open和write函数,但但文件无法建立,在调试中表明open函数的返回值为-1。
请问:
1、setmode函数在linux应该用什么函数来代替,是setbuf吗?
2、文件无法建立是什么原因呢,是权限问题吗,应该如何解决?

请各位帮帮忙,解决就结贴;

主要代码如下:
void main()
{

char *data;
int ByteLength;
char *readstr;
int i=0,fd;
 
data=getenv("CONTENT_LENGTH");
ByteLength=atoi(data);

readstr=(char *)malloc(ByteLength+1);
//setmode(_fileno(stdin), _O_BINARY);/****在linux下没有***/
         fread(readstr,ByteLength+1,ByteLength+1,stdin);
         readstr[ByteLength]=0;

fd=open("ftpfile",O_RDWR | O_CREAT);
         write(fd,readstr,ByteLength);

         close(fd);
}

|
O_RDWR 这个mode你查一下,我刚才man了一下,好像没看到哦。
你程序要处理错误返回啊,看看报的什么错。

|
顺便问问,Linux的文件操作是不是区分二进制文件和文本文件吧?
CGI的用户权限默认是nobody,估计对cgi-bin没有写权限,否则后果不堪设想?(每个人都可以向这个文件夹添加自己的一些特定程序)

再问问,传上来的文件编码格式到底是什么?是不是要在这里进行解码?跟Content-type相关,java相关的代码例子倒是有些。值得参考!

    
 
 

您可能感兴趣的文章:

  • 求助,安装redhat 9.0遇到问题
  • 高分求助:谁调过javamail的程序,我遇到了一些麻烦,请求帮助!!!
  • 【求助】小弟现在正在学习Linux,遇到一个问题,请教各位
  • 【求助】用U盘做fedora系统盘遇到的问题
  • 求助:在Linux上,当退出vi,遇到“Can't write viminfo file /root/.viminfo!”
  • 100分求助:磁盘格式转换后遇到的问题
  • [求助]分析这种特效菜单实现时遇到的问题!请帮助!---在线恭候!!!
  • 编译QT程序时遇到的问题(求助)
  • 紧急求助,在配置无盘工作站时遇到的dhcp问题。
  • 安装matlab 2008b 遇到问题了,求助
  • 紧急求助!ntpdate遇到问题
  • 求助,关于vim编写汇编程序遇到的问题
  • 求助,LINUX的奇异事件你们遇到过么?
  • 求助达人,USB转串口是否遇到过多台设备接入机器,串口冲突?
  • 移植LINUX程序时遇到的问题,求助!!!(急)
  • 求助:编写聊天服务器遇到的问题
  • 各位师哥师姐,我急切求助,关于文件的上传下载程序代码
  • 紧急求助:请教在如何将一个文件夹上传到CVS上去
  • 100分,高分求助:用ftp server上传和下载文件如何控制路径??
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助,在Linux下当文件夹大小超过1G时,删除文件夹内容
  • MAKEFILE求助,LINUX下如何将多个.a文件合并为一个.a文件或者.lib文件
  • 求助~~急~如何删除指定目录下的文件夹???(不是文件)
  • 求助关于zip命令,如何把文件压缩成指定大小的多个文件(Ubuntu7.04)
  • 求助!如何在没有图形界面的LINUX下压缩文件夹,并将这个压缩文件在windows下解压?
  • 求助文件操作中修改文件中字段的问题,请大家帮忙解决
  • [求助]修改文件内容
  • socket实现多文件并发传输,求助多线程实现问题?
  • 高分求助实例!!!!定期删除文件!!!!!
  • 高分求助!!!!定期删除文件!!!!!
  • 求助,linux中修改了目录dir下的某个文件,相应的dir属性中的时间会与修改目录下文件的时间一致,这是怎么实现的?
  • 求助!!用NFS传送文件显示乱码是怎么回事
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • 求助 请问vxworks支持inet_ntoa函数吗? 需要包含哪些头文件? 谢谢
  • 紧急求助!!!用CHKDSK/F检查磁盘,结果C盘下所有的文件的文件长度都变为0字节
  • 救命啊,AIX小机,我想删除一个10G的文件,我先移动到根目录下,然后rm 文件名后,用df -g发现空间没有变化?求助啊!
  • 求助 shell中split命令如何实现文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始
  • 求助,关于开发板的linux文件问题!
  • 求助:系统为什么会自动删除文件?
  • 求助!找不到头文件
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3