0

所以我试图定义 $picurl1 以便它使用 $pic1 中的值。所以最后我希望它是:

<img src="./pictures/{definition of pic1}.png">

现在我使用这个 php 代码:

$pic1 = '<script src="pic.js"></script>';
$picurl1 = '<img src="./pictures/' + $pic1 + '.png'">';

对不起,如果我不是很清楚。我真的不知道该怎么解释。我希望你明白。

换句话说,请告诉我应该将 $picurl1 更改为什么。

顺便说一句,脚本会随机生成一个不带“.png”的图片名称。

提前致谢。

4

3 回答 3

3

对于初学者,您在 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标记出现在文档中之后,您可以调用该函数并将src标记img的 设置为其结果。为了帮助我们识别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 中。

于 2013-09-29T20:40:32.923 回答
1

您必须考虑到所有服务器端代码都在客户端代码(javascript、html、css ......)之前执行。所以你的代码没有任何意义,你不能将未定义的代码嵌入到另一个更快执行的代码中。

如果你的 js 代码必须返回一些东西,所以删除 php 代码并简单地使用 HTML

于 2013-09-29T20:43:19.730 回答
0

我成功地测试了这个:

 $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'>
于 2013-09-29T21:20:39.913 回答