汽车超链接
我正在尝试自动生成页面。汽车超链接
我想要做的是为画廊中显示的图片上传做一个上传表单。
我有这个,但我希望每个图像都有一个页面超链接自动为每个图像,其中图像可以看到更大的购买信息,也被上传到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']."' />";
}
?>
现在,我还没有测试这个确切的代码,但是这一切将正常运行是。但您需要适当调整以适应您的要求;但这是完成您所需要的一种方法。
我有点困惑我是否需要存储链接到图像的一些如何在数据库上?我可以使用codeigniter显示导演的完整图像,但是我仍然需要将图像或链接存储到数据库上?我真的不觉得需要将图像存储在数据库中。我所追求的是自动链接到每个图像,你会第一个代码为我做这个?非常感谢您的帮助,codeigniter非常新。 – 2010-07-23 22:10:14
这取决于你正在努力完成什么。您绝对不需要将图像存储到数据库中。事实上,最好不要因为你的情况。如果所有图像都存储在同一个目录中,则可以将该信息与数据库中的内容一起存储。只需存储文件名称即可。如果您始终存储确切的文件名,它将始终为$ _FILES [0] ['name']。如果您正在对它进行随机化处理,请将其存储在数据库中,然后输出链接(与第一个示例相似)为 yoursite.co.uk/your_image_dir/".$row['file_name'] 或任何行被称为。 – RageD 2010-07-23 22:17:36