2011-11-17 50 views
-1

嗨,大家好,感謝您閱讀本文。我正在嘗試從文件夾中讀取幾張照片。在我的表我有所謂的「路徑」字段這是誰我嘗試打電話列出圖片文件夾的名稱,所以我的代碼是here(很抱歉,但我不能申請我的代碼一些驗證錯誤):從PHP和Mysql文件夾讀取圖像

<? 
$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

你的「代碼」是PHP還粘貼到了一個框HTML ...那不是去工作......能你向我們展示了你的'fotos'表的模式......以及一些示例數據 – ManseUK

+0

請將你的代碼發佈到Stackoverflow而不是另一個站點上。 –

+0

你給出的例子不起作用。 –

回答

0

解決!我只是用一些這樣的代碼:

$directorio = "images/media/".$objResult["full"]; 
$images = scandir($directorio); 

所以感謝你所有:)

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/>" 
    } 
} 
?> 

看在例子 - http://php.net/manual/en/function.readdir.php

+0

@roselan感謝那個例子,我在我的例子http://jsbin.com/ehezew/2/edit進行了一些修改,我得到了一些錯誤,但現在它非常感謝所有你的幫助傢伙! – fecapeluda

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); 
?> 

這是假定 「照片」 字段是完整路徑,而不是僅文件名。