2016-04-25 47 views
1

我使用下面的代码到一个目录中的页面上显示图像如何获取图像属性从文件目录在PHP

$dirname = "img/data/new/"; 
$images = glob($dirname."*.png"); 
foreach($images as $image) { 
echo '<img src="'.$image.'" alt="" data-size=""/><br />'; 
} 

这是工作的罚款,但我也需要去访问每个图像的名字将显示在alt=""和图像大小data-size=""。您可以让我知道如何在这里使用getimagesize()getImageProperties()

+0

岂不图像文件名(没有dirname和.png)是图像名称? – Adib

+0

@Adib“*** $ size = getimagesize($ dirname。$ image)会为数据大小做伎俩***”你确定吗?在这一点上,'$ size'将是一个***数组***,其中包含'$ width,$ height,$ type,$ attr' –

回答

2

要获得的图像文件的大小,你需要提供其pathgetimagesize(),得到filenamealt,您可以使用basename(),即:

$dirname = "img/data/new/"; 
$website = "https://mysite/"; 
$images = glob($dirname."*.png"); 
foreach($images as $image) { 
list($width, $height) = getimagesize($image); //get the $width, $height of the image 
$filename = basename($image); // get the filename for alt 
echo <<< LOL 
<img src="{$website}{$dir}{$image}" alt="$filename" data-size="$width:$height"/><br /> 
LOL; 
} 
+0

几个缺失的分号在那里顺便说一句。 –

+0

'$ filename = basename($ image)'应该也有一个,我确实相信;-) –

+0

更正了,谢谢@ Fred-ii- –

1

和getimagesize($ filename)返回数组的4个元素。第一个是宽度,第二高度,第三类,第四HTML属性(WIDTH = “XXX” 高度= “XXX”)

现在你可以获取他们喜欢:

list($imageWidth,$imageHeight,$imageType,$imageAttributes) = getimagesize($image); 
+0

谢谢Erol,这是工作,但如何获得图像名称? – Behseini