当用户选择要上传的文件时,是否可以在上传之前获取该文件的确切大小?我猜这需要在客户端使用jQuery或JavaScript完成。有什么想法吗?
$("#file_input_selector").bind('change', function(){
alert(this.files[0].size);
});
我不确定所有的兼容性问题,但这对我来说似乎运行得很好。
http://www.w3.org/TR/FileAPI/#dfn-filereader
PHP文件上传的工作方式使得在文件上传之前或期间很难检查文件细节(因为文件在您的代码甚至加载之前就已经上传了)。
我知道在其他一些语言中(可能是Perl或Python),可以做一些花哨的事情,直接处理脚本的文件上传(其中脚本打开套接字并处理整个传输本身),但是PHP会为您完成这项工作,并代表您的脚本接受任何文件。如果文件不符合PHP的可接受限制,则该文件将被丢弃,但只有在文件完全上传后才会被丢弃。
还有几种使用Flash进行文件上传实现的方法,但由于我不是ActionScript编码人员,所以在那方面帮助不大。