在jquery中获取fakepath

时间:2012-07-01 16:10:35

标签: php javascript jquery

我试图通过将文件浴从javascript传递到php文件来获取文件的大小然后返回结果,问题是javascript传递文件浴,如下所示,c:\ fakepath \ NAME OF THE FILE,所以php文件获取错误的路径所以总是返回错误!

 $(document).ready(function (){


        $("#file").click(function (){


            fileBath=$("#name").val();

                $.get('newfile2.php','fileBath='+fileBath,function(data){
                alert(data);

                    });
            });
});

php文件

getmax($_GET['fileBath']);

function getmax($fileBath){

    $value=filesize($fileBath);
    echo  $value;

}

正如我所说的PHP文件中的返回值FALSE,因为文件浴是错误的!

4 个答案:

答案 0 :(得分:3)

文件输入的目的是允许上传文件。访问者文件系统的结构被认为是网站不需要的机密信息。

没有办法绕过伪路径替换,因为它是为了保护访问者的隐私。

答案 1 :(得分:1)

由于HTML5浏览器的出现实施了严格的规则以保护用户的隐私,伪路径用于隐藏文件的真实路径,即使在MAC路径为C:\\fakepath..

所以你只能检测文件的名称而不是它的真实路径,试试这个::

var filename = $('#name').val().replace(/C:\\fakepath\\/i, '');

答案 2 :(得分:0)

使用php str_replace或preg_replace .it将替换不必要的空间或任何你想要的东西然后就不会有任何问题

答案 3 :(得分:0)

JavaScript解决方案:

document.getElementById("fileInput").files[0].name;

jQuery解决方案:

$("#fileInput")[0].files[0].name;