[英]remove extension from image filename php
我正在使用以下 php 代碼將圖像文件夾加載到 html 頁面中。
我遇到的問題是,為了用作圖像標題而被引入的文件名顯示了文件擴展名。
名稱被拉取的代碼部分是 title='$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' />";
}
?>
您可以使用pathinfo獲取沒有擴展名的文件名,因此對於 title='' 您可以使用pathinfo($file, PATHINFO_FILENAME);
$file_without_ext = substr($file, 0, strrpos(".", $file));
對於“最先進的”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 字符。您可以使用 substr 擺脫文件擴展名,如下所示:
$fileName = $request->file->getClientOriginalName();
$file_without_ext = substr($fileName, 0, strrpos($fileName,"."));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.