2016-09-30 513 views
0

我试图显示带有标题和缩略图的图像。我能够显示图片,但我很难将图像文件名称显示为标题。使用PHP从完整图像路径获取图像名称

下面是我的代码:

<?php 
$files = glob("images/Friends/*.*"); 
for ($i=0; $i<count($files); $i++) 
{ 
    $num = $files[$i]; 
    echo '<div class="w3-content" style="max-width:800px;position:relative;padding-top:0px;">'; 
    echo '<div class="w3-display-container mySlides">'; 
    echo '<div class="col s12 m6 l12">'; 
    echo '<div class="page4">'; 
    echo '<img src="'.$num.'" height="750" width="780" alt="random image" class="responsive-img" >'."&nbsp;&nbsp;";  
    echo '</div>'; 
    echo '</div>'; 
    echo '<a class="w3-btn-floating w3-hover-dark-grey" style="position:absolute;top:45%;left:0" onclick="plusDivs(-1)">❮</a>'; 
    echo '<a class="w3-btn-floating w3-hover-dark-grey" style="position:absolute;top:45%;right:0" onclick="plusDivs(1)">❯</a>'; 
    echo '</div>'; 
    echo ' </div>'; 
} 
?> 

<script> 
    var slideIndex = 1; 
    showDivs(slideIndex); 
    function plusDivs(n) { 
     showDivs(slideIndex += n); 
    } 
    function showDivs(n) { 
     var i; 
     var x = document.getElementsByClassName("mySlides"); 
     if (n > x.length) {slideIndex = 1} 
     if (n < 1) {slideIndex = x.length} 
     for (i = 0; i < x.length; i++) { 
      x[i].style.display = "none"; 
     } 
     x[slideIndex-1].style.display = "block"; 
    } 
</script> 

回答

1

要显示的标题设置title属性。并在瓷砖属性中设置图像的名称。

从图片使用basename($num)

的FULLPATH获取图片名请在下面代替你的PHP代码。

echo '<img src="'.$num.'" height="750" width="780" alt="'.basename($num).'" title="'.basename($num).'" class="responsive-img" >'."&nbsp;&nbsp;"; 

要获取文件名,而不是扩展名,在循环中的代码下面的每个图像的位置。并将$filename变量放在要显示图像名称的位置。

$filenamewithextension = basename($num); 
$fileextenstion = pathinfo($filenamewithextension, PATHINFO_EXTENSION); 
$filename = basename($num,$fileextenstion); 
$filename = trim(preg_replace('/[0-9]+/', '', $filename)); 
+0

谢谢你的快速回答。它仍然没有显示,只有一个变化,当我将鼠标移到图像上时,我可以看到图像文件的名称。 – HebleV

+0

经过哪些更改,您可以将鼠标悬停在文件标题上?据我所知,标题标题应该设置为HTML属性,因此您希望在标题属性中设置图像的标题名称中显示图像名称。在添加了this-alt =“'。basename($ num)。'”title =“'。basename($ num)。'”之后加入 –

+0

。它在mouseover上显示 – HebleV