如果我在“fonts”目录中有更多TTF字体文件,那么 有没有办法自动将它们添加到该部分? 我想一个读取dir并生成列表的PHP文件可以完成 - 是吗?
像这样(我包括这种风格,但我希望添加这个,如果文件夹有更多字体,则自动添加):<style type="text/css">
@font-face
{
font-family: Baksoda;
src: url('fonts/Baksoda.ttf');
}
@font-face
{
font-family: CherrySwash-Regular;
src: url('fonts/CherrySwash-Regular.ttf');
}
@font-face
{
font-family: Riya-Black;
src: url('fonts/Riya-Black.ttf');
}
</style>
答案 0 :(得分:0)
您好,您可以尝试使用scandir()。我一直在寻找EmilVikström的答案:
Loop code for each file in a directory
一旦你有这个可能这可以给你一个想法:
<style>
<?php
$files = scandir('fonts/');
foreach($files as $file){
if(strpos($file,'.ttf') !== false){
echo "@font-face{font-family:".str_replace('.ttf','',$file).";src:url('fonts/".$file."')}";
}
}
?>
</style>
答案 1 :(得分:0)
此代码适用于您
<?php
function getResultStyleString($directoryName)
{
$styleText = '<style type="text/css">';
$filesList = scandir($directoryName);
foreach($filesList as $file)
{
if(strpos($file,'.ttf') !== false)
{
$styleText .= "@font-face{font-family:" . str_replace('.ttf', '', $file).";src:url('fonts/" . $file . "')}";
}
}
$styleText .= '</style>';
return $styleText;
}
$directoryName = "fonts/";
$resultStyleString = getResultStyleString($directoryName);
var_dump($resultStyleString);
?>