用CGI C程序将文件保存到www目录

用CGI C程序将文件保存到www目录,c,apache,cgi,fopen,C,Apache,Cgi,Fopen,我必须用CGI C程序在服务器上保存一个文件,然后用客户端访问它。如果我将文件保存在cgi-bin目录中,它可以工作,但我无法使用客户端访问它,因为该目录受保护。如果我试图将文件保存到另一个目录中,fopen函数将无法创建该文件 FILE *fh = fopen (filename, "wb"); 正在工作,但无法访问文件 FILE *fh = fopen (//var//www//filename, "wb"); 不工作。该目录是可写的,如果我在本地C程序上运行该语句,它就会

我必须用CGI C程序在服务器上保存一个文件,然后用客户端访问它。如果我将文件保存在cgi-bin目录中,它可以工作,但我无法使用客户端访问它,因为该目录受保护。如果我试图将文件保存到另一个目录中,fopen函数将无法创建该文件

FILE *fh = fopen (filename, "wb");    
正在工作,但无法访问文件

FILE *fh = fopen (//var//www//filename, "wb");   
不工作。该目录是可写的,如果我在本地C程序上运行该语句,它就会工作

那么,我如何授予CGI程序在www目录中写入的权限呢

我正在使用Ubuntu和apache


谢谢

权限正常。这是C代码中的一个问题。我用计算机解决了这个问题

snprintf(pathFile,120,"//var//www//files//%s",filename);
FILE *fh = fopen (pathFile, "wb");    

如果您这样尝试,请确保它不会工作FILE*fh=fopen//var//www//filename,wb;。您忘记添加文件*fh=fopen//var//www//filename,wb;也许这就是为什么,请尝试指定整个路径。您是否尝试过chmod a+rw/var/www?CGI脚本的默认权限是:0755 rwx rx rx,而您可能需要0766 rwx rw rw或其他什么