我在努力创建艺术家画廊。画廊是创建的,但当我需要50个艺术家,我必须创建50页。因此,我只需要改变方向后,链接是点击文件夹。做这件事最好的方法是什么?链接到我的画廊http://www.divart.sk/vg/krajina.php
与艺术家的链接
<option value="http://www.divart.sk/vg/krajina.php">krajina</option>
<option value="http://www.divart.sk/vg/virtualgallery.php">Adina Chitu</option>php代码
$dir = "krajina/";
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
if( $file == '.' || $file == '..')
continue;
echo " <div><img src='krajina/" . $file . "'/></div>";
}
closedir($dh);
}
}发布于 2019-04-17 09:14:55
您可以通过使用()和使用ScanDir将文件夹名通过Query String传递给php脚本来做简单的工作。
您必须创建这个结构:
http://www.divart.sk/vg/gallery.php?dir=the_artist_folder
http://www.divart.sk/vg/krajina/
http://www.divart.sk/vg/nicole/
http://www.divart.sk/vg/jonathan/
其中文件夹名为是文件夹艺术家,而gallery.php是读取文件夹艺术家的php脚本!
按照注释中的要求,您可以通过加载一个文本文件(不是最好的方式)来添加艺术家信息,例如:
http://www.divart.sk/vg/krajina/artist.txt
http://www.divart.sk/vg/nicole/artist.txt
http://www.divart.sk/vg/jonathan/artist.txt
文本文件artist.txt示例
Artist: krajina;
Born: 1967/04/18;
Photo Genre: Nature;
License Photo: Creative Commons;例如:<option value="http://www.divart.sk/vg/gallery.php?dir=krajina">krajina</option>
gallery.php
<?php ini_set('default_charset', 'UTF-8'); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="distribution" content="global">
<meta name="language" content="italian it">
<meta name="language" content="english en">
<meta name="rating" content="general">
<meta name="revisit-after" content="6 days">
<meta name="pragma" content="no-cache">
<meta name="robots" content="index, nofollow">
<title>Gallery</title>
<link rel="stylesheet" type="text/css" media="all" href="gallery.css">
<link rel="shortcut icon" href="/favicon.ico">
</head>
<body>
<?php
// example: http://www.divart.sk/vg/gallery.php?dir=krajina
// rev .04 (23.04.2019)
function file_get_contents_utf8($fn) {
$content = file_get_contents($fn);
return mb_convert_encoding($content, 'UTF-8', mb_detect_encoding($content, 'UTF-8, ISO-8859-1', true));
}
$gurl = $_SERVER['QUERY_STRING'];
$ourl = array();
$list = array();
parse_str($gurl, $ourl);
$valid_artist = array("krajina", "nicole", "jonathan");
if (isset($ourl['dir']) || (!empty($ourl['dir']))) {
if (!in_array($ourl['dir'], $valid_artist)) {
exit("This artist name isn't allowed");
}
if ((!file_exists($ourl['dir'])) || (!is_dir($ourl['dir']))) {
exit("This folder doen't exist!");
}
if (preg_match('/[\s]/', $ourl['dir'])) {
exit("Detected white space, please don't use it");
} else {
$dir = htmlspecialchars($ourl['dir'], ENT_NOQUOTES, 'UTF-8');
}
}
if ((isset($dir)) || (!empty($dir))) {
if (file_exists("$dir/artist.txt") && is_file("$dir/artist.txt")) {
$artist = file_get_contents_utf8("$dir/artist.txt");
$artist = htmlentities($artist, ENT_QUOTES, 'UTF-8');
echo "<div>$artist</div>\n";
}
$list = scandir($dir);
foreach ($list as $file) {
if (is_file($dir . '/' . $file)) {
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if ($ext == 'gif' || $ext == 'jpeg' || $ext == 'jpg' || $ext == 'png') {
echo "<div>\n<img src=\"" . $dir . '/' . $file . "\" alt=\"" . $dir . "\"><br />\n</div>\n";
echo "<div>\nPhoto: " . basename($file) . "<br />\n</div>\n";
}
}
}
} else {
echo "No Artist Folder to Show!";
}
?>
</body>
</html>如果您看到由生成的html源代码,您可以看到:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="distribution" content="global">
<meta name="language" content="italian it">
<meta name="language" content="english en">
<meta name="rating" content="general">
<meta name="revisit-after" content="6 days">
<meta name="pragma" content="no-cache">
<meta name="robots" content="index, nofollow">
<title>Gallery</title>
<link rel="stylesheet" type="text/css" media="all" href="gallery.css">
<link rel="shortcut icon" href="/favicon.ico">
</head>
<body>
<div>Artist: krajina;
Born: 1967/04/18;
Photo Genre: Nature;
License Photo: Creative Commons;</div>
<div>
<img src="krajina/001.jpg" alt="krajina"><br />
</div>
<div>
Photo: 001.jpg<br />
</div>
<div>
<img src="krajina/002.jpg" alt="krajina"><br />
</div>
<div>
Photo: 002.jpg<br />
</div>
<div>
<img src="krajina/003.jpg" alt="krajina"><br />
</div>
<div>
Photo: 003.jpg<br />
</div>
<div>
<img src="krajina/004.jpg" alt="krajina"><br />
</div>
<div>
Photo: 004.jpg<br />
</div>
<div>
<img src="krajina/005.jpg" alt="krajina"><br />
</div>
<div>
Photo: 005.jpg<br />
</div>
</body>
</html>我希望这能帮到你。
https://stackoverflow.com/questions/55722078
复制相似问题