[英]PHP upload no slashes in path
我正在尝试获取上载文件的完整路径。 php代码是这样的:
<?php
$destination_path = getcwd() . DIRECTORY_SEPARATOR;
$result = 0;
$target_path = $destination_path . basename($_FILES['thefile']['name']);
if(@move_uploaded_file($_FILES['thefile']['tmp_name'],*$target_path)) {
$result = 1;
}
?>
<script language="javascript" type="text/javascript">
//d = '<?php echo basename( $_FILES['thefile']['name']); ?>';
d = '<?php echo $target_path; ?>';
window.top.window.phpUpload(d);
</script>
我可以使用rem'd out行打开json文件,但是我需要在会话结束时将其返回的路径。 带有警报的完整路径测试显示为没有斜杠,并且文件名的首字母'n'丢失了...
任何帮助,不胜感激。
(单击“名称”,然后在此测试站点打开nset.json以查看我要执行的操作)
假设您在Windows上使用此功能,其中DIRECTORY_SEPARATOR
是反斜杠。 如果文件名以n
开头,那么您的Javascript代码将像这样结束:
d = '..\path\nameoffile.txt';
与PHP不同,JavaScript会在单引号中解释\\n
。
解决难题的方法是不使用DIRECTORY_SEPARATOR
,或输出正确转义的Javascript字符串:
d = <?php echo json_encode($target_path); ?>;
您是指客户端计算机上文件的完整路径吗? JavaScript安全性不会揭示这一点。 它将仅将实际文件名发送到服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.