我试图创建一个画廊,使用PHP的'fgets'函数从平面文件数据库中调用图像名称。 画廊中有不同的部分,每个部分都有自己的默认图像和用户可以选择的一小组图像。 除了一个按钮外,一切正常。
页面上有一个按钮,应该使用Javascript OnClick将所有画廊重置为它们的默认图像。 它的工作方式完全符合我的要求,但有一个小故障:它复制了行末的换行符以及行上的字符,破坏了Javascript。
有问题的代码:
function back(){
document.getElementById('back').className='back';
document.getElementById('one').className='cellcont';
//This should output the proper javascript, but does not
<?php
$a = fopen('c.txt','r');
if (!$a) {echo 'ERROR: Unable to open file.'; exit;}
$b = fgets($a);
echo "document.getElementById('i1').src='$b';";
fclose($a);
?>
}
它的输出结果是什么:
function back(){
document.getElementById('back').className='back';
document.getElementById('one').className='cellcont';
document.getElementById('i1').src='00.jpg
';}
正如您所看到的,结束引号和分号在下一行,这会破坏按钮。
使用我现在正在使用的文件,我可以通过将“fgets($a)”更改为“fgets($a, 7)”来解决此问题,但我需要它获取整行,以便如果客户决定输入具有较长名称的文件,则不会破坏他们的画廊。