【问题标题】:Valums Ajax file Upload handle the up. file?Valums Ajax 文件上传处理起来。文件?
【发布时间】:2011-01-26 11:58:30
【问题描述】:

是的,所以我正在使用这个,valuems ajax 文件上传: http://valums.com/ajax-upload/

使用这些设置:

function createUploader(){            
    var uploader = new qq.FileUploader({
        element: document.getElementById('file-uploader-demo1'),
        action: 'photo.php?mode=upload',
        debug: true
    });           
}

不在 photo.php?mode=upload 上,我试图处理正在上传的文件,由

if(isset($_FILES['qqfile'])){
$filename = $_FILES['qqfile']['name'];
$imageSizeInfo = getimagesize($filename);
}

它不执行这个,没有 $_FILES isset.. ?我是否忘记在脚本设置中添加任何内容?我试图删除if语句,然后它只是说getimagesize错误需要参数不能为空。

【问题讨论】:

  • 你为什么要测试ppfile,却检索qqfile?发送print_r($_FILES); 以查看上传的内容
  • @pekka 抱歉打错了,我的意思是isset中的qqfile也是..我在 if 之前做了 print_r($_FILES) 并得到: Array() .. 它是空的

标签: javascript ajax file-upload


【解决方案1】:

使用 Firefox、Chrome 或 Safari 时,Valums 上传脚本 (latest version) 通过 ajax(xhr 流)发送文件信息。但是 IE6/7/8/9 不支持它并回退到正确设置 $_FILES 数组的 iframe 支持。

如果您只想使用超级全局 $_FILES 数组,您可以使用旧版本的 Valums script,它将在所有浏览器中执行相同的操作。

【讨论】:

  • 因此,如果我在 IE 中正确理解了这一点,它会执行 $_FILES 数组,并且较新的 (ff, chrome, safari)(我使用 ff 尝试过)正在使用“xhr 流”?我该如何处理这个 xhr 流然后在服务器端/php ..?
  • 没错。从从站点下载的 zip 文件中,查看 /server/php.php 文件。特别是顶部附近的 qqUploadedFileXhr 类。 save() 方法获取流并将其保存到临时文件中。 qqFileUploader 类进一步决定使用哪个上传处理程序类(Xhr 或 Form)。
【解决方案2】:

valuems 脚本中有两种上传方法,qqUploadedFileXhrqqUploadedFileForm。如果您使用示例脚本,则使用默认脚本:qqUploadedFileXhr

所以,要获取您可以使用的文件信息:$file_name = $_GET['qqfile']; 就是这样,只是文件名。

但是,如果使用'qqUploadedFileForm',你可以获得文件信息:

  • $_FILES['qqfile']['name'] 用于文件名
  • $_FILES['qqfile']['size'] 大小等

【讨论】:

    猜你喜欢
    • 2012-03-15
    • 2015-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 2023-03-06
    • 2011-09-09
    • 2013-02-21
    相关资源
    最近更新 更多