我只是无法让这个工作在这里有什么问题?
$files = scandir('gallery/');
if ($files !== false)
{
foreach($files as $f) {
if ($f == '..' || $f == '.')
continue;
echo '<li><img src="gallery/'.$f.'" alt="'.$f.'" title=""></li>'."n";
}
}
该文件夹位于我的根文件夹中,名为"画廊"。图像在内部..
我总是会遇到此错误:
警告:第101行中的" mydocument.php"中为foreach()提供了无效的论点。
<?php
$files = scandir('gallery/');
if ($files !== false)
{
foreach(is_array($files) as $f) {
if ($f == '..' || $f == '.')
?>
<li><img src="<?php echo 'gallery/'.$f ?>" alt="<?php echo $f ?>" title="">
<?php
}
}
?>
这对我来说有用...
<?php
$files = scandir('gallery/');
if ($files !== false) {
foreach($files as $f) {
if ($f == '..' || $f == '.') continue;
echo $f . "<br>n";
}
}
?>
它与您的代码完全相同...因此,请检查"画廊/"目录内容...
更改为:
foreach((array)$files as $f)
代码可能是:
$files = scandir('gallery/');
if ($files !== false)
{
foreach((array)$files as $f) {
if ($f == '..' || $f == '.')
continue;
echo '<li><img src="gallery/'.$f.'" alt="'.$f.'" title=""></li>'."n";
}
}
您不应该用:
验证数组if ($files !== false)
但通过:
if (is_array($files) && count($files) > 0) {
否则您会收到这样的警告。
[编辑]并考虑像一个人一样使用地球。这将与该功能一起使用。
示例:
if (is_array($files) && count($files) > 0) {
foreach(glob('gallery/*.{jpeg,gif,png}', GLOB_BRACE)) {
// code here
}
}