PHP上传路径中没有斜杠

标签 php javascript json file-upload

我正在尝试获取上传文件的完整路径。 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/

相关文章:

javascript - $(this) 抛出 "undefined"但这按预期工作

php - 有没有办法检测像 putjbtghguhjjjanika 这样的字符串?

javascript - Magento - 函数名称必须是字符串

javascript - 使用 jQuery 在 Div 中循环

javascript - 词云更新数据/向云添加词的工作示例?

ajax - Spring MVC 无法返回 JSONArray 对象错误 406

php - 使用 json 和 ajax 自动完成 JQuery UI

json - 我应该如何使用 Alamofire 和 SwiftyJSON 解析来自 API 的 JSON 响应?

javascript - 如何将 php/ajax 请求转为 OOP

javascript - 调整从事件目录中提取的照片的大小