关于用CGI上传文件 /tmp 文件夹容量超出的问题

关于用CGI上传文件 /tmp 文件夹容量超出的问题

做了一个上传并保存文件的CGI 我的理解是,上传的文件通过html的form-data形式,将文件发送到/tmp文件夹下
同时CGI的对象里有个变量保存了它的文件句柄 通过param("filename")取得 然后在CGI里 通过copy将文件拷贝到存储目录
不知道对CGI工作的方式理解的对不对,请大家指正

现在有个问题是,/tmp的容量设定为1G 当上传超过1G的文件时(要求可以上传超过2G的文件),/tmp文件夹下那个文件还会生成,
但是变成了0字节的文件 然后当然也就能成功拷贝到指定目录下了 但是实际上文件是错误的

还有,假如/tmp文件夹下文件是$tmp,目的文件夹下文件是$file 用copy($tmp,$file);和move($tmp,$file);都可以将文件移到存储目录下
而且执行结束后,/tmp文件夹下那个文件都不见了

不知道有没有说清楚,给大家添麻烦了


QUOTE:
原帖由 sdlxf 于 2007-10-29 17:24 发表
假如/tmp文件夹下文件是$tmp,目的文件夹下文件是$file 用copy($tmp,$file);和move($tmp,$file);都可以将文件移到存储目录下
而且执行结束后,/tmp文件夹下那个文件都不见了

这个问题知道答案了 CGI.pm 里有这么一段话:
CGI.pm can process uploaded file. Ordinarily it spools the uploaded
file to a temporary directory, then deletes the file when done.

意思应该是说处理结束后,CGI.pm会把上传时存在临时文件夹里的临时文件清掉,对吧

上传的文件大小超过临时文件夹容量大小的问题还是没有解决 请大家帮忙!
加大tmp分区 呵呵


QUOTE:
原帖由 tmp 于 2007-10-30 15:22 发表
加大tmp分区 呵呵

谢谢!如果不加大tmp分区,还有别的办法吗?比如说,获得的上传文件不存在tmp文件夹里,直接由cgi接收并且存到想存的地方去
或者,能报出错误也行,现在是不报错但生成一个0字节的空文件
顶一下,大家帮忙解决一下……