javascript - php:从文件夹中的图片创建数组并交替显示它们?

标签 javascript php html arrays

下面的代码应该使用 php 从目录中找到的以 .png 结尾的图片创建一个数组,然后允许按钮更改数组上的指针并允许页面显示指针所在的当前图片。这似乎根本不起作用。我这样做正确吗?

<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
img {float:left; }
</style>
</head>
<body>
<?PHP
$pages = array ();
$dirname = "assets/pictures/";
$images = glob($dirname."*.png");
foreach($images as $image) {
$pages[] = $image;
}
?>
<?PHP
echo '<img src="'.current($pages).'" class="photo"/>';
function shownext() {
$mode = next($pages);
}
function showprev() {
$mode = prev($pages);
}
function showfirst() {
$mode = reset($pages);
}
function showlast() {
$mode = end($pages);
}
?>
<a href="" onclick="showfirst()">first</a>
<a href="" onclick="showprev()">previous</a>
<a href="" onclick="shownext()">next</a>
<a href="" onclick="showlast()">last</a>
</body>
</html>

最佳答案

onclick 将允许您调用 javascript 函数,而您的 showprev...showlast 函数是所有 php 函数。它们在 javascript 的范围内不可用。

此外,在您的 php 代码中:

  1. 您将在 $pages[] = $image 之后关闭循环,我认为您打算显示(打印/回显)所有图像。
  2. 您不需要循环即可将 $pages 复制到 $images。您可以轻松复制它:$pages = $images
  3. 您应该知道 current 仅在循环内有意义,并且您在循环关闭后调用它。

不过,我认为您混淆了服务器端(即 php)和客户端(即 javascript)执行环境。

关于javascript - php:从文件夹中的图片创建数组并交替显示它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24237929/

相关文章:

javascript - 在 iFrame 上下文中运行 Javascript

javascript - c3.js一致的配色方案

javascript - 我怎么知道字符串中有多少匹配项被替换了?

html - HTML 属性文本中的字符串插值 (Swift 4)

php - 链接有效时 wordpress 按钮不起作用

html - CSS如何放置列

JavaScript 在我的框架中不起作用?

javascript - 在php中使用多个饼图

php - Laravel/PHP dd() 在 Chrome 开发者工具中显示非结构化数组

php - 使用 yii 2 验证登录密码始终为 false