我对PHP系统功能有一种奇怪的行为。在这个PHP脚本中只有2条指令(其余为纯HTML):
<?php echo system('cgi-bin/gallery2/galleryheaderview.cgi'); ?>
<?php echo system('cgi-bin/gallery2/galleryview.cgi'); ?>
第一个cgi只返回一行,你可以在这里查看 http://reboltutorial.com/cgi-bin/gallery2/galleryheaderview.cgi
返回
我的画廊
但整个php脚本返回My Gallery两次:
我的画廊 我的画廊
http://reboltutorial.com/gallery2.php
是否有原因(我当然不会在第二个cgi脚本中使用我的画廊,请参阅http://reboltutorial.com/cgi-bin/gallery2/galleryview.cgi)以及如何防止这种情况?
感谢。
答案 0 :(得分:4)
更新:system
功能会执行两项操作。首先,它将运行一个命令并将其输出传递给浏览器和/或输出缓冲区。第二个是,它将返回最后一行输出。所以,当你说
echo system('/...');
你说“嘿system
,输出这个命令的结果”然后“Hey ehco,输出任何system
返回”。删除回声
system('/...');
将解决您的问题。
要检查的其他一些事项
你确定它的galleryheaderview.cgi
会回来两次吗?注释掉include以确保它实际上是两次回显My Gallery的脚本
您的PHP页面/程序是否以galleryheaderview.cgi
被调用两次的方式包含/构建?
您确定调用网址http://reboltutorial.com/cgi-bin/gallery2/galleryheaderview.cgi
正在调用与cgi-bin/gallery2/galleryheaderview.cgi
相同的命令行吗?
如果你已经检查了上面的三个项目,则需要放入galleryheaderview.cgi
的来源,看看它输出标题两次的原因。
答案 1 :(得分:1)
您是否确定在此行之前没有其他任何内容输出我的画廊?你应该尝试删除它,看它是否完全消失或者是否还有一个“我的画廊”
<?php echo system('cgi-bin/gallery2/galleryheaderview.cgi'); ?>
如果这不能为您带来任何进一步的好处,也许您已经包含了两次php文件?