当我尝试获取数组内容时,我得到“数组”而不是内容。
foreach函数(如果它是正确的,我现在无法尝试)应该发布图片。
<?php
$slideshowdir = "./public/all/slideshow/";
if (is_dir($slideshowdir)) {
if ($dh = opendir($slideshowdir)) {
while (($slides = readdir($dh)) !== false) {
$possible_slides = $slideshowdir.array($slides);
}
}
}
foreach($possible_slides as $slide){
$picture = file($slide);
echo $picture;
}
?>
编辑:对不起,我不是100%清楚。我想发布的文件是图片。
编辑:我用以下代码解决了这个问题:
<?php
$possible_slides = array();
$slideshowdir = "./public/all/slideshow/";
if (is_dir($slideshowdir)) {
if ($dh = opendir($slideshowdir)) {
while (($slide = readdir($dh)) !== false) {
if (is_file ($slideshowdir.$slide)) {
$possible_slides[] = $slideshowdir.$slide;
}
}
}
}
foreach($possible_slides as $slide){
echo '<img src="'.$slide.'">';
}
?>
答案 0 :(得分:2)
请阅读file()
的文档。它逐行返回文件内容的数组。
您可能想要使用的是file_get_contents()
。
另外,你的第一个循环看起来很可疑。我想你想这样做:
<?php
$possible_slides = array();
$slideshowdir = "./public/all/slideshow/";
if (is_dir($slideshowdir)) {
if ($dh = opendir($slideshowdir)) {
while (($slide = readdir($dh)) !== false) {
if (is_file ($slideshowdir.$slide)) {
$possible_slides[] = $slideshowdir.$slide;
}
}
}
}
foreach($possible_slides as $slide){
$picture = file_get_contents($slide);
echo $picture;
}
请注意,我在while循环中添加了一项检查,以确保只将文件添加到$possible_slides
。这应该过滤掉子目录,以及.
和..
。
答案 1 :(得分:0)
这部分看起来很简陋:$slideshowdir.array($slides)
您确定要将数组连接到字符串吗?
答案 2 :(得分:0)
变化:
$possible_slides = $slideshowdir.array($slides);
要:
$possible_slides[] = $slideshowdir.array($slides);