PHP在html错误中遍历文件夹和回显图像
我就是不能让它工作这里怎么了PHP在html错误中遍历文件夹和回显图像,php,foreach,Php,Foreach,我就是不能让它工作这里怎么了 $files = scandir('gallery/'); if ($files !== false) { foreach($files as $f) { if ($f == '..' || $f == '.') continue; echo '<li><img src="gallery/'.$f.'" alt="'.$f.'" title=""></li>'.
$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";
}
}
$files=scandir('gallery/');
如果($files!==false)
{
foreach($f文件){
如果($f='..'| |$f='.)
继续;
回音“”。“\n”;
}
}
该文件夹位于名为“gallery”的我的根文件夹中。图片在里面
我总是会遇到这样的错误:
警告:为第101行“MYDOCUMENT.PHP”中的foreach()提供的参数无效
将foreach更改为:
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";
}
}
$files=scandir('gallery/');
如果($files!==false)
{
foreach((数组)$文件作为$f){
如果($f='..'| |$f='.)
继续;
回音“”。“\n”;
}
}
将foreach更改为:
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";
}
}
$files=scandir('gallery/');
如果($files!==false)
{
foreach((数组)$文件作为$f){
如果($f='..'| |$f='.)
继续;
回音“”。“\n”;
}
}
您不应使用以下方法验证阵列:
if ($files !== false)
但通过这样做:
if (is_array($files) && count($files) > 0) {
否则你会收到这样的警告
[编辑]
一个家伙说,考虑使用GLUB。
这将与该功能一起工作
例如:
if (is_array($files) && count($files) > 0) {
foreach(glob('gallery/*.{jpeg,gif,png}', GLOB_BRACE)) {
// code here
}
}
您不应使用以下方法验证阵列:
if ($files !== false)
但通过这样做:
if (is_array($files) && count($files) > 0) {
否则你会收到这样的警告
[编辑]
一个家伙说,考虑使用GLUB。
这将与该功能一起工作
例如:
if (is_array($files) && count($files) > 0) {
foreach(glob('gallery/*.{jpeg,gif,png}', GLOB_BRACE)) {
// code here
}
}
这对我来说很有效…:
<?php
$files = scandir('gallery/');
if ($files !== false) {
foreach($files as $f) {
if ($f == '..' || $f == '.') continue;
echo $f . "<br>\n";
}
}
?>
这和你的代码完全一样。。。所以请检查“gallery/”目录内容…这对我来说很有效…:
<?php
$files = scandir('gallery/');
if ($files !== false) {
foreach($files as $f) {
if ($f == '..' || $f == '.') continue;
echo $f . "<br>\n";
}
}
?>
<?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
}
}
?>
这和你的代码完全一样。。。因此,请检查“gallery/”目录内容…
<?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
}
}
?>
“alt=”“title=”“>
“alt=”“title=”“>
var\u dump($files)的输出是什么代码>?你能说得更具体些吗,我该怎么办?我是php新手……就在$files=scandir('gallery/')下面的一行代码>放置变量转储($files);模具()
并运行代码。请给出输出。您可能需要考虑使用<代码> GULL()> <代码>。代码>$files=glob('gallery/.{jpeg,gif,png}',glob_括号)代码>检查is\u数组($files)
和tryforeach
变量转储($files)的输出是什么代码>?你能说得更具体些吗,我该怎么办?我是php新手……就在$files=scandir('gallery/')下面的一行代码>放置变量转储($files);模具()
并运行代码。请给出输出。您可能需要考虑使用<代码> GULL()> <代码>。代码>$files=glob('gallery/.{jpeg,gif,png}',glob_括号)代码>检查是数组($files)
并且tryforeach
没有更改任何内容没有更改任何内容确定这会回显图像的名称。如何回显图像本身?好的…您的代码打印正确引用图像标记的html。。。因此,您应该检查web服务器用户是否可以读取图像…嗯,它们应该是可读的,为什么不应该?就像我说的,代码打印图像的名称,但不显示图像逻辑是:PHP代码使用图像的名称打印HTML。浏览器(例如,Firefox、Chrome等)用于交互HTML从服务器检索图像并显示它们…我在变量前缺少一个“/”。。我的错。它现在可以用了,非常感谢你,这与图片的名称相呼应。如何回显图像本身?好的…您的代码打印正确引用图像标记的html。。。因此,您应该检查web服务器用户是否可以读取图像…嗯,它们应该是可读的,为什么不应该?就像我说的,代码打印图像的名称,但不显示图像逻辑是:PHP代码使用图像的名称打印HTML。浏览器(例如,Firefox、Chrome等)用于交互HTML从服务器检索图像并显示它们…我在变量前缺少一个“/”。。我的错。它现在可以用了非常感谢你它是怎么工作的?如果$files
是数组,函数将返回true
,否则返回false
。如何用循环迭代布尔值?它是如何工作的?如果$files
是数组,函数将返回true
,否则返回false
。如何用循环迭代布尔值?