我正在尝试获取上传文件的完整路径。 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 文件,但我需要在 session 结束时返回它的路径。使用警报进行测试,显示的完整路径没有斜杠,并且文件名的首字母“n”丢失...
非常感谢任何帮助。
(单击名称,然后在 test site 打开 nset.json 以查看我要执行的操作)
最佳答案
假设您在 Windows 上使用此选项,其中 DIRECTORY_SEPARATOR
是反斜杠。如果文件名以 n
开头,那么您的 Javascript 代码将如下所示:
d = '..\path\nameoffile.txt';
与 PHP 不同,Javascript 会解释单引号字符串中的 \n
。
解决你的困境的方法是不使用DIRECTORY_SEPARATOR
,或者输出正确转义的Javascript字符串:
d = <?php echo json_encode($target_path); ?>;
关于PHP上传路径中没有斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5267816/