繁体   English   中英

PHP上传路径中没有斜杠

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM