[英]Give unique class to list item in php array
我創建了一個數組,用於顯示一個目錄(本質上是目錄樹)的幾個子目錄中的所有文件。 文件是單擊后在該目錄中打開文件的所有鏈接。
我遇到的問題是我希望能夠設置結果樣式,但是所有子目錄和文件名都具有相同的類(因為它們是使用相同的代碼生成的)。
這是我的PHP:
<?php
function listFolderFiles($dir){
$ffs = scandir($dir);
echo '<ol class="song">';
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li class="title">';
if(is_dir($dir.'/'.$ff)){
echo $ff;
listFolderFiles($dir.'/'.$ff);
}else{
echo '<a href="'.$dir.'/'.$ff.'" target="_blank">'.$ff.'</a>';
}
echo '</li>';
}
}
echo '</ol>';
}
listFolderFiles('Current Songs');
?>
和生成的HTML是這樣的:
<ol class="song">
<li class="title">
Sub Directory Folder 1
<ol class="song">
<li class="title">
<a href="Current Songs/Song1.mp3"></a></li>
<li class="title">
<a href="Current Songs/Song1.pdf"></a></li>
</ol>
</li>
<li class="title">
Sub Directory Folder 2
<ol class="song">
<li class="title">
<a href="Current Songs/Song2.mp3"></a></li>
<li class="title">
<a href="Current Songs/Song2.pdf"></a></li>
</ol class="song">
</li>
</ol>
</li>
如您所見,每個條目都由2個有序列表組成,但是它們與所有列表項一樣都具有相同的類,因此幾乎不可能對其進行任何樣式設置。
我想要的是將生成以下html標記:
<ol class="song">
<li class="title">
Sub Directory Folder 1
</li> <!--END TITLE HERE-->
<ol>
<li>
<a href="Current Songs/Song1.mp3"></a></li>
<li>
<a href="Current Songs/Song1.pdf"></a></li>
</ol>
</ol> <!--END SONG OL HERE-->
任何人都可以對我需要對我的代碼進行哪些PHP更改以輸出上述內容提供一些建議。
您也可以將類名作為參數傳遞
function listFolderFiles($dir,$myclass){
$ffs = scandir($dir);
echo '<ol class="song'.$myclass.'">';
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li class="title'.$myclass.'">';
if(is_dir($dir.'/'.$ff)){
echo $ff;
listFolderFiles($dir.'/'.$ff);
}else{
echo '<a href="'.$dir.'/'.$ff.'" target="_blank">'.$ff.'</a>';
}
echo '</li>';
}
}
echo '</ol>';
}
listFolderFiles('Current Songs','_myclass');
listFolderFiles('Current Songs','');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.