我试图通过将文件浴从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,因为文件浴是错误的!
答案 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;