gpt4 book ai didi

php - 动态图片库

转载 作者:行者123 更新时间:2023-11-29 18:37:06 24 4
gpt4 key购买 nike

大家好,我的第一篇文章:D

问题:

我正在尝试制作一个模板库,而不是幻灯片放映,我可以轻松地在多个站点上重复使用它。
主要用于快速作品集网站,所有者不知道如何更新代码以添加图片。

它需要从选定目录中读取所有图像文件。 (jpg, gif, png, bmp)它需要能够在不更改任何代码的情况下更新内容。 (从文件夹动态加载)它需要写出 img 标签到被查看的页面。 (使用 JavaScript 进行定制/CSS?)

从 php/JavaScript 输出的一组 img 标签需要是缩略图,当点击它时将链接到完整的 def 图片,这可能可以在最初建立链接时用 JavaScript 处理。

进度:

我找到了一个 php 脚本,它可以从文件夹中读取文件并将 url 保存到一个数组中,以便在 JavaScript 中使用。然而,用于显示图片的代码是作为单 block 幻灯片放映完成的,因为我需要它来单独发布所有图像,而不仅仅是替换同一图像的 src。

示例:

root/index.htm - pastebin[.]com/m52568ed5
root/images/getimages.php - pastebin[.]com/f5395a572
root/images/pic01.png
root/images/pic03.jpg
root/images/asdfs.gif

那么我如何让 JavaScript 循环遍历 galleryarray[curimg] 并写出我的链接?

我走到这一步,却卡住了。

function rotateimages(){
// document.getElementById("slideshow").setAttribute("src", "res/gallery/painting/"+galleryarray[curimg])
// curimg=(curimg<galleryarray.length-1)? curimg+1 : 0
for (curimg=1;curimg!=0;curimg++;) {
document.write("<div><img class='gallery' src='" + galleryarray[curimg] + "' /></div>")
}
}

提前致谢,布雷登。


编辑:这是我的沙箱,用于显示发生了什么

-EDIT: removed link

无论我如何更改每个项目的输出,例如,如果我用一个简单的 echo 替换整个部分,我得到的都是以下内容:

<!DOCTYPE html>
<html>
<head>
<title>My Gallery</title>
</head>

<body>
<div id="gallery"></div>
</body>
</html>

它似乎在尝试运行“foreach()”时卡住了

这是当前的 php:

<?php

function getDirTree($dir,$p=true) {
$d = dir($dir);$x=array();
while (false !== ($r = $d->read())) {
if($r!="."&&$r!=".."&&(($p==false&&is_dir($dir.$r))||$p==true)) {
$x[$r] = (is_dir($dir.$r)?array():(is_file($dir.$r)?true:false));
}
}

foreach ($x as $key => $value) {
if (is_dir($dir.$key."/")) {
$x[$key] = getDirTree($dir.$key."/",$p);
}
}

ksort($x);
return $x;
}

$tree = getDirTree("./res/gallery/");

echo '<div id="gallery">';

foreach($tree as $element => $eval) {
if (is_array($eval)) {

foreach($eval as $file => $value) {
if (strstr($file, "jpg")) {
$file = 'res/gallery/'.$element.'/'.$file;
echo 'test'; //test//echo '<a href="'.$file.'">test</a>'; //test// <img class="gallery" src="'.$file.'" alt="'.$file.'"/></a>';
}
}


}
}
echo '</div>';

考虑到我在开始这个之前从未做过 php,我认为我做的还可以。

最佳答案

非常简单的自动画廊脚本,photos.php:

<?php
function getDirTree($dir,$p=true) {
$d = dir($dir);$x=array();
while (false !== ($r = $d->read())) {
if($r!="."&&$r!=".."&&(($p==false&&is_dir($dir.$r))||$p==true)) {
$x[$r] = (is_dir($dir.$r)?array():(is_file($dir.$r)?true:false));
}
}

foreach ($x as $key => $value) {
if (is_dir($dir.$key."/")) {
$x[$key] = getDirTree($dir.$key."/",$p);
}
}

ksort($x);
return $x;
}

$tree = getDirTree("./foto/");

echo '<div id="gallery">';
echo '<ul class="linone">';
foreach($tree as $element => $eval) {
if (is_array($eval)) {
echo '<li><h4>'.$element.'</h4>';
echo '<ul class="linone photos">';
foreach($eval as $file => $value) {
if (strstr($file, "jpg")) {
$file = 'foto/'.$element.'/'.$file;
echo '<li><a href="'.$file.'"><img src="'.$thumb.'" alt="'.$thumb.'"/></a></li>';
}
}
echo '</ul>';
echo '</li>';
}
}
echo '</ul>';
echo '</div>';

我还使用 lightbox jQuery 插件让这个画廊看起来更舒服。

管理此页面的照片也非常非常简单 - 您只需将 .jpg 文件上传到您的照片目录(“/foto/”,对于本示例)。

索引.php:

<!DOCTYPE html>
<html>
<head>
<title>My Gallery</title>
</head>

<body>
<?php require_once('photos.php') ?>
</body>
</html>

此文件将包含 photos.php 文件并运行它,photos.php 脚本的输出将出现在标签之间。

关于php - 动态图片库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1896147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com