这是我的代码:

<script>
document.getElementById(div').innerHTML = '<a href="javascript:void(0);" onclick="openPhpFile (\'asdasD\\Asdeqw.txt\');">efff</a>';
</script>


openPhpFile函数运行时,我会提示文件名,即使\字符加倍,它们也消失了。 addslashes()没有帮助;会是什么

最佳答案

您应该这样做:

<script type='text/javascript'>
  (function () { // Closures are your friend
    // Declare variables
    var theDiv, theLink;
    // Create the link and assign attributes
    theLink = document.createElement('a');
    theLink.innerHTML = 'efff';
    theLink.href = '#';
    theLink.onclick = function () {
      openPhpFile('asdasD\\Asdeqw.txt');
    };
    // Get a reference to the container, empty the container and add the link
    theDiv = document.getElementById('div');
    theDiv.innerHTML = '';
    theDiv.appendChild(theLink);
  })();
</script>


请记住,如果要在PHP中使用双引号echo,则实际上需要4个反斜杠。这是因为PHP还将使用双反斜杠序列,并且只会输出一个。因此,如果您希望PHP回显2个反斜杠,则需要输入4个。

关于php - 文件名中反斜杠消失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8169335/

10-12 05:57