我有以下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...
答案 0 :(得分:3)
糟糕的引用,试试这个
echo '<img src="'.$Files[$i].'" onclick="ChangeImage("'.$Files[$i].'")"/>';
答案 1 :(得分:0)
好的,我终于找到了解决方案。
最重要的是,我应该一直在寻找的是:
onclick="ChangeImage('somepath/somedirectory/00.jpg')"
而不是:
onclick="ChangeImage("somepath/somedirectory/00.jpg")"
所以我最终得到了这段代码:
echo ('<img src="' . $Files[$i] . '" onclick="ChangeImage('' . $Files[$i] . '')"/>');
它现在可以工作了。