2013-04-16 45 views
-2

我有一个网站,我作为一个学校项目,看起来我已经跳入了一个有点太深。我使用PHP为每个数组对象创建一个页面。在每个页面中,我想个性化内容以匹配页面。例如,我有一个名为Darryl的页面,它将包含我所有的图片。其他页面将被创建,并且这些页面的内容将根据页面动态创建。从一个变量调用函数(PHP)

我想要做的是使用PHP更改img src并使用计数器使不同的图像弹出。这对我来说很难解释。

我这行HTML代码,其中包含PHP(它决定哪些图像得到显示:

<td><img style="width:11em;" class="magnify" src="<?php print $imgSrc; ?>"/><br><?php print $pageName; ?></td> 

我有是问题的一部分“打印$ IMGSRC;”一部分。这是。在我的PHP将创建src路径与它使用这个变量$ IMGSRC区域,以获得正确的路径

该变量为:

$imgSrc = "images"."/".$pageName."/".counter(); 

哪写

+0

我与我发布的所有问题有问题,请不要评论,而我试着解决问题。它不会让我发布,因为它说我有无格式的代码,但我所有的代码都格式化了。 –

+0

你在HTML中寻找什么输出? image1.jpg,image2.jpg,image3.jpg ....? – Axel

+0

我认为这不是每个数组对象的每个页面的好主意。这就是为什么我们使用PHP,所以我们可以有一个单一的页面来“统治所有”。 – Voitcus

回答

1

看起来你对某个函数是什么或者何时执行它感到困惑。如果这是所有的代码,你有你的网页上:

$imgSrc = "images"."/".$pageName."/".counter(); 
<td> 
    <img style="width:11em;" class="magnify" src="<?php print $imgSrc; ?>"/><br> 
    <?php print $pageName; ?> 
</td> 

然后$imgSrc只写过一次。所以不管counter()做什么,它只做一次。你可以把整个东西包装在一个for循环中,并且打电话给counter()。你可以删除的$imageSrc局部变量,并在飞行中定义的属性,就像这样:

<td> 
    <img style="width:11em;" class="magnify" src="<?php print "images"."/".$pageName."/".counter(); ?>"/><br> 
    <?php print $pageName; ?> 
</td> 

这时如果counter()功能是有状态的本身(如,它每次调用返回不同的值) ,你一切都准备好了。

你可以做一个有状态的功能如下所示:

$counter_var = 0; 

function counter() { 
    global $counter_var; 
    return $counter_var++; 
} 

但全局是令人难以接受的,因为创建苦苦追寻的副作用(等原因)。大多数人会告诉你使用for循环。我只提到它,因为它看起来更接近你在原始代码中试图做的事情。

+0

我非常喜欢这个答案,它帮助我理解了为什么我的问题正在发生。我相信我现在可以尝试修复它。 –

+0

哦,我完全错过了一个重要的提示(道具给Rafee):你绝对需要在你的图片源上添加一个文件扩展名。如果您的映像在磁盘上没有扩展名,那么您的Web服务器将不会使用正确的MIME类型标题来提供这些扩展名。 PS很高兴我可以帮助和抱歉编辑给你一个头痛的问题。 –

相关问题