嗨,大家好,感谢您阅读此内容。我正在尝试从文件夹中读取几张照片。在我的表中,我得到了一个名为“path”的字段,这是我试图调用列表图像的文件夹的名称,因此我的代码是here(很抱歉,但我无法将我的代码应用于某些验证错误):
<?
$conexion = mysql_connect("localhost","miuser","mipass") or die("Error al conectar a la BD");
$db = mysql_select_db("midb");
$sql = "SELECT * FROM fotos";
$obj = mysql_query($sql) or die ("Error de query [".$sql."]");
?>
while($resultado = mysql_fetch_array($obj))
{
?>
<img width="210" height="138" src="images/media/<? echo $resultado["foto"];?>" />
}
?>
mysql_close($conexion);
?>
我尝试scandir但是我无法获得这种HTML输出格式:
title 1 (folder1)
image1.jpg
image2.jpg
然后是下一个文件夹
title 32 (folder32)
image1.jpg
image2.jpg
image3.jpg
image4.jpg
然后是另一个文件夹
title 54 (folder54)
image4.jpg
image77.jpg
就像你看到我需要列出文件夹内的图像,逐个文件夹内容。 所以一个例子就是:如果文件夹1里面有3个图像,那么代码应该在div中列出这3个图像。我希望这有帮助:/
答案 0 :(得分:0)
<?php
function read_folder_directory($dir = "path")
{
$listDir = array();
if($handler = opendir($dir)) {
while (($sub = readdir($handler)) !== FALSE) {
if ($sub != "." && $sub != ".." && $sub != "Thumb.db" && $sub != "Thumbs.db") {
if(is_file($dir."/".$sub)) {
$listDir[] = $sub;
}elseif(is_dir($dir."/".$sub)){
$listDir[$sub] = ReadFolderDirectory($dir."/".$sub);
}
}
}
closedir($handler);
}
return $listDir;
}
?>
使用:
<?php
$files = read_folder_directory ();
if ($files)
{
foreach ($files as $file)
{
echo $file."<br/>"
}
}
?>
答案 1 :(得分:0)
$sql = "SELECT * FROM fotos";
$previousDirName = false;
$obj = mysql_query($sql) or die ("Error de query [".$sql."]");
while($resultado = mysql_fetch_array($obj)) {
$dirName = pathinfo($resultado["foto"], PATHINFO_DIRNAME);
if ( $dirName != $previousDirName ) {
if ( $previousDirName ) { ?></div><? }
?><div><div class="path"><? echo $dirName ?></div><?
}
?><div class="photo"><img width="210" height="138" src="images/media/<? echo pathinfo($resultado["foto"], PATHINFO_BASENAME);?>" /></div><?
$previousDirName = $dirName;
}
?></div><? // closes last path div
}
mysql_close($conexion);
?>
这假设“foto”字段是完整路径,而不是文件名。
答案 2 :(得分:0)
解决!我只是使用这样的代码:
$directorio = "images/media/".$objResult["full"];
$images = scandir($directorio);
非常感谢所有人:)