所以我试图定义$picurl 1,以便它使用$pic 1中的值。所以最后我希望它是:
<img src="./pictures/{definition of pic1}.png">
现在我使用这个php代码:
$pic1 = '<script src="pic.js"></script>';
$picurl1 = '<img src="./pictures/' + $pic1 + '.png'">';
对不起,如果我不是很清楚。我真的不知道该怎么解释。希望你能理解。
换句话说,请告诉我我应该将 $picurl 1 更改为什么。
顺便说一下,脚本想出了一个没有".png"的随机图片名称。
提前谢谢。
对于初学者来说,你在PHP中使用了错误的运算符来连接字符串。 我想你的意思是:
$picurl1 = '<img src="./pictures/' . $pic1 . '.png'">';
更重要的是,什么是"pic1的定义"? 您的意思是pic.js
中的代码将随机选择一个文件名,并且您希望其结果是 img
标记中使用的 URL?
那么,你遇到的问题是PHP在服务器上运行,而JavaScript在客户端上运行。 所以你的PHP代码不能使用pic.js
的结果,因为在PHP代码完成后,在浏览器运行它之前,它不会有结果。
所以你需要在JavaScript代码中得到客户端的结果。
pic.js
如何创造这种结果? 也就是说,pic.js
中有函数吗? 现在我将假设有,我将假设该函数被称为类似getFileName
。 (仅出于此示例的目的。
包含 JavaScript 代码后,在文档中包含 img
标记后,可以调用该函数并将 img
标记的src
设置为其结果。 为了帮助我们识别img
标签,让我们给它一个id
:
<img src="default.gif" id="theImage" alt="This is a dynamic image" />
(我为src
给了它一个默认值,因为空值是无效的。 我也有它的完整性alt
值。 若要将其src
值更改为函数的结果,请执行如下操作:
document.getElementById('theImage').src = getFileName();
请记住,这都是客户端代码。 在PHP代码中使用"结果"的唯一方法是计算是在PHP中完成的,而不是在JavaScript中完成的。
您必须考虑到所有服务器端代码都在客户端代码(javascript,html,css,...(之前执行。 所以你的代码没有任何意义,你不能将一个未定义的代码嵌入到另一个更早执行的代码中。
如果你的JS代码必须返回一些东西,所以删除PHP代码,简单地使用HTML代替
我成功地测试了这个:
$picName = "greenButterfly7"; //note no spaces inbetween green and butterfly
$picurl1 = "<img src='./pictures/" . $picName . ".png'>";
echo $picurl1;
或纯 HTML 形式:
<img src='pictures/greenButterfly7.png'>
或以嵌入式形式(HTML 中的 PHP(:
<img src='pictures/<?php echo $picName; ?>.png'>