php中的奇怪行为

时间:2013-12-20 00:35:59

标签: javascript

我正在尝试访问根目录下的meme文件夹下的图像。它是一个使用PHP的Javascript代码

 <script>
 window.onload = function ()
   {
  var img = new Image();
  img.src = "/meme\\"+'<?php echo $phpvalue; ?>' + ".png";      
  var can = document.getElementById('canvas');
  Meme(img, can);
  } 
  </script>

 img.src = "/meme/"+'<?php echo $phpvalue; ?>' + ".png"; 
 img.src = "meme\\"+'<?php echo $phpvalue; ?>' + ".png"; 
 img.src = "meme/"+'<?php echo $phpvalue; ?>' + ".png";
 img.src = "/meme\\"+'<?php echo $phpvalue; ?>' + ".png"; 

他们都给了我结果,但现在我很困惑。我猜的第一个反斜杠是由于相对或绝对路径。我的问题是哪一个是正确的方法呢?或者所有这些都是对的

1 个答案:

答案 0 :(得分:1)

如果您要保证站点上的任何页面访问/meme目录,请使用前面的正斜杠(/)。

的原因所有这些都是因为您从域根目录中的页面调用此代码。 (例如,site.com/index.php

如果您要包含前面的正斜杠,然后从嵌套页面调用它,例如site.com/subdir/subpage.php,则无效。

最适合您问题的代码是:

<script type="text/javascript">
    img.src = "/meme/<?php echo $phpvalue; ?>.png"; 
</script>

在这种情况下,无需将$phpvalue连接到img.src


此外,在Web开发中表示URL和文件路径时,使用正斜杠(/)是标准做法。

并非所有平台都能保证将反斜杠理解为文件分隔符。 (此外,为每个文件分隔符键入\\都很麻烦。)