我使用以下php代码将图像文件夹加载到html页面。
我遇到的问题是,用作图像标题的文件名显示文件扩展名。
提取名称的代码部分是标题=' $ img'
如何删除文件扩展名?
<?php
$string =array();
$filePath='images/schools/';
$dir = opendir($filePath);
while ($file = readdir($dir)) {
if (eregi("\.png",$file) || eregi("\.jpeg",$file) || eregi("\.gif",$file) || eregi("\.jpg",$file) ) {
$string[] = $file;
}
}
while (sizeof($string) != 0) {
$img = array_pop($string);
echo "<img src='$filePath$img' title='$img' />";
}
&GT;
答案 0 :(得分:3)
您可以使用pathinfo获取不带扩展名的文件名,因此对于title =''您可以使用pathinfo($file, PATHINFO_FILENAME);
答案 1 :(得分:1)
$file_without_ext = substr($file, 0, strrpos(".", $file));
答案 2 :(得分:0)
对于“最先进的”OO代码,我建议如下:
$files = array();
foreach (new FilesystemIterator('images/schools/') as $file) {
switch (strtolower($file->getExtension())) {
case 'gif':
case 'jpg':
case 'jpeg':
case 'png':
$files[] = $file;
break;
}
}
foreach ($files as $file) {
echo '<img src="' . htmlentities($file->getPathname()) . '" ' .
'title="' . htmlentities($file->getBasename('.' . $file->getExtension())) . '" />';
}
优点:
ereg()
函数。htmlentities()
转义可能的特殊HTML字符。答案 3 :(得分:-1)
您可以使用substr摆脱文件扩展,例如:
$fileName = $request->file->getClientOriginalName();
$file_without_ext = substr($fileName, 0, strrpos($fileName,"."));