汽车超链接

问题描述:

我正在尝试自动生成页面。汽车超链接

我想要做的是为画廊中显示的图片上传做一个上传表单。

我有这个,但我希望每个图像都有一个页面超链接自动为每个图像,其中图像可以看到更大的购买信息,也被上传到MySQL表不是100%与codeigniter我是仍然引诱请看看我试图建立的网站http://www.fresherdesign.co.uk/PIFF/index.php/main/gallery

这是一个直接链接到我将链接到页面的图库,目前他们只是直接打开图像链接

任何帮助将是真棒感谢大家提前

A兰莫顿

前提

你需要有哪些东西被存储的目录名,相对于您的PHP页面所在。显然,你已经创建了这个页面。我将假定它存储在$dir变量中。

代码

if ($handle = opendir($dir)) { 
    while (false !== ($file = readdir($handle))) { 
     echo "<a href='http://www.mydomain.com/".$dir."/".$file."'>"; 
     echo "<img src='http://www.mydomain.com/".$dir."/".$file."' />"; 
     echo "</a>"; 
    } 
} 

输出

这将为您提供链接到图像文件本身的图像的列表。

可能的修改

1)您可能希望只显示某些文件在目录中,还是有一定的量:使用如果在这里添加块做到这一点:

if ($handle = opendir($dir)) { 
    //set $strThatSpecifiesImages to whatever you want; 
    //for the example, I'm saying that we only want to show files with "gal_image" in the filename 
    $strThatSpecifiesImages = "gal_image"; 
    $maxFilesToShow = 10; //set this to whatever you want; example max is 10 
    $count = 0; 
    while (($count < $maxFilesToShow) && (false !== ($file = readdir($handle))) { 
     if (strpos($file, $strThatSpecifiesImages) > -1) { 
      echo "<a href='http://www.mydomain.com/".$dir."/".$file."'>"; 
      echo "<img src='http://www.mydomain.com/".$dir."/".$file."' />"; 
      echo "</a>"; 
      $count++; 
     } 
    } 
} 

2)您可能还想更改显示内容的方式,这样您就不会每次都显示完整的图像。通过修改正在输出HTML的echo块中的内容来执行此操作。您可以让浏览器调整图像大小,或者将其完全更改,以便链接使用文字或其他内容。

如果您想要上传实际图像(而不是存储在数据库中 - 请注意,数据库存储比完成标准上传要困难得多),您可以在数据库中为图像位置创建一个字段;这就是你将如何将你的图像数据与你的页面内容相对应的方式。

现在,如果你想要自动创建一个超链接,我建议查询所有“活动”条目的数据库(同样,除非你简单地删除旧条目,否则可能是另一个字段)。每个条目都应有一个与之相关的唯一ID。这样,当你给的名单,只是包括类似于

while($row = mysql_fetch_array($query_result)){ 
    // Change this to whatever formatting you need 
    print '<a href="your_content_page.php?id=<?php print $row['ID']; ?>"><!-- Whatever content for link --></a>'; 
} 

标签现在这只是你的循环得到的结果。现在的实际页面应该根据给定的ID来查询数据库。查询应该从数据库中获取页面内容。像这样的东西会工作

<?php 
if(!isset($_GET['id'])){ 
    die("Please use a valid link!"); 
} 

$q = mysql_query("SELECT * FROM YOUR_DB_TABLE WHERE ID='".mysql_real_escape_string($_GET['id'])."' LIMIT 1;"); 

if(!$q || mysql_num_rows($q) < 1){ 
    die("A MySQL Error Occurred: ".mysql_error()); 
} 

while($row = mysql_fetch_array($q)){ 
    // Again, adjust this accordingly 
    print "Data column 1: ".$row['DataRow1']."<br />". 
    "Data Column 2: ".$row['DataRow2']."<br />". 
    "<img src='".$row['ImageLocation']."' />"; 
} 

?> 

现在,我还没有测试这个确切的代码,但是这一切将正常运行是。但您需要适当调整以适应您的要求;但这是完成您所需要的一种方法。

+0

我有点困惑我是否需要存储链接到图像的一些如何在数据库上?我可以使用codeigniter显示导演的完整图像,但是我仍然需要将图像或链接存储到数据库上?我真的不觉得需要将图像存储在数据库中。我所追求的是自动链接到每个图像,你会第一个代码为我做这个?非常感谢您的帮助,codeigniter非常新。 – 2010-07-23 22:10:14

+0

这取决于你正在努力完成什么。您绝对不需要将图像存储到数据库中。事实上,最好不要因为你的情况。如果所有图像都存储在同一个目录中,则可以将该信息与数据库中的内容一起存储。只需存储文件名称即可。如果您始终存储确切的文件名,它将始终为$ _FILES [0] ['name']。如果您正在对它进行随机化处理,请将其存储在数据库中,然后输出链接(与第一个示例相似)为 yoursite.co.uk/your_image_dir/".$row['file_name'] 或任何行被称为。 – RageD 2010-07-23 22:17:36