我正在尝试访问根目录下的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";
他们都给了我结果,但现在我很困惑。我猜的第一个反斜杠是由于相对或绝对路径。我的问题是哪一个是正确的方法呢?或者所有这些都是对的
答案 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和文件路径时,使用正斜杠(/
)是标准做法。
并非所有平台都能保证将反斜杠理解为文件分隔符。 (此外,为每个文件分隔符键入\\
都很麻烦。)