php readfile 问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 20:19:27
<?php
//……
//……codeaboveisright
$str='12345';
for($i=0;$i< strlen($str);$i++)
{
$daysuc=substr($str,$i,1);
readfile($daysuc.'.gif');
//gif图片文件存在没问题

}

//**问高手,为什么页面只显示1.gif
//其余2.gif,3.gif,4.gif,5.gif不显示?
//当将图片删除时
//,错误提示却是分别找不到1—5.gif
//谢谢!
?>
只有13分了……
当文件改为txt的就能显示了,
但我想通过readfile()在页面打开数个图片……

这样执行的结果是把 1.gif,2.gif,3.gif,4.gif,5.gif 5个文件的内容轮流输出到客户端的浏览器的,这样浏览器只能显示到 第一个文件的图像的结尾处,而忽略2.gif,3.gif,4.gif,5.gif 的图像,比较稳妥的办法是用别的方法显示。

下面是修改的代码
///////////////////////////////////////////////////
<?php
if($GLOBALS["HTTP_GET_VARS"]["act"]=="GIF"){
$m_nIndex = intval(substr($GLOBALS["HTTP_GET_VARS"]["id"], 0, 1));
if($m_nIndex<1 || $m_nIndex>5) $m_nIndex=1;
$m_strFile = $m_nIndex.".gif";
// 将流媒体定义为 指定格式 图像
Header("Content-Type: image/GIF");
// 换名称保存
Header("Content-Disposition: attachment; filename=$m_strFile");
readfile($m_strFile);
exit;
}
?>
<?php
//……
//……codeaboveisright
$str='12345';
for($i=0;$i< strlen($str);$i++) {
echo "<img src=\"".$GLOBALS["PHP_SELF"]."?act=GIF&id=".substr($str,