-2

我有以下 PHP 代码:

$Directory = "somepath/somedirectory/";
$Files = glob($Directory . "*.jpg");
for ($i = 0; $i < count($Files); $i++) {
    echo ('<img src="' . $Files[$i] . '"/>');
}

我得到的:

<img src="somepath/somedirectory/00.jpg"/>
<img src="somepath/somedirectory/01.jpg"/>
<img src="somepath/somedirectory/02.jpg"/>
//etc...

这里一切都好。但是我有一个 onclick(),假设使用相同的变量“$Files[$i]”,如下所示:

$Directory = "somepath/somedirectory/";
$Files = glob($Directory . "*.jpg");
for ($i = 0; $i < count($Files); $i++) {
    echo ('<img src="' . $Files[$i] . '" onclick="ChangeImage("' . $Files[$i] . '")"/>');
}

我得到:

<img 00.jpg")"="" somedirectory="" somepath=""  onclick="ChangeImage(" src="somepath/somedirectory//00.jpg">
<img 01.jpg")"="" somedirectory="" somepath=""  onclick="ChangeImage(" src="somepath/somedirectory//01.jpg">
//etc...

到底是怎么回事?为什么会有这个结果?

我想要的是:

<img src="somepath/somedirectory/00.jpg" onclick=("somepath/somedirectory/00.jpg")/>
<img src="somepath/somedirectory/01.jpg" onclick=("somepath/somedirectory/01.jpg")/>
//etc...
4

2 回答 2

3

引用不好,试试这个

echo '<img src="'.$Files[$i].'" onclick="ChangeImage("'.$Files[$i].'")"/>';
于 2013-01-11T21:27:18.853 回答
0

好的,我终于找到了解决方案。

首先,我应该一直在寻找的是:

onclick="ChangeImage('somepath/somedirectory/00.jpg')"

并不是:

onclick="ChangeImage("somepath/somedirectory/00.jpg")"

所以我最终得到了这段代码:

echo ('<img src="' . $Files[$i] . '" onclick="ChangeImage(&#39;' . $Files[$i] . '&#39;)"/>');

现在它可以正常工作了。

于 2013-01-12T12:23:10.493 回答