PHP - 读取文件并回显结果
我有 /fonts/ 文件夹,里面装满了 .js 文件。
我知道如何读取该文件夹并列出其中的所有文件:
$dir = "/fonts"; 如果 (is_dir($dir)) { 如果 ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { 回显''。 $file .''; } 关闭($dh); } }
但我不想写文件名,而是写它们存储的数据。
里面的模式如下所示:
NameOfTheFontFile_400_font.js:
(...) "font-family":"NameOfTheFont" (...)
那么如何修改我的第一个脚本以打开读取每个文件并获取字体系列名称而不是文件名?
多谢!
I have /fonts/ folder full of .js files.
I know how to read this folder and list all the files there:
$dir = "/fonts"; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo '<tr><td>'. $file .'</td></tr>'; } closedir($dh); } }
But I don't want to write filenames but data they store.
The pattern inside looks like this:
NameOfTheFontFile_400_font.js:
(...) "font-family":"NameOfTheFont" (...)
So how to modify my first script to open-read each file and grab the font-family name instead of file name?
Thanks a lot!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用 readfile() 来回显其输出。另请注意,这尚未经过测试,但它应该可以工作:
如果您的 .js 文件在字体名称旁边有额外的数据,您可以执行以下操作来查找文件名:
Off-topic:为什么您是否将字体名称存储在 .js 文件中?最好将它们存储在 xml 文件或数据库中,因为这就是它们的用途。
You could use
readfile()
to echo it's output. Also note that this is not tested, but it should work:If your .js file has extra data beside the font name, you do do something like this to find the file name:
Off-topic: Why are you storing the font's names inside .js files? It would be better to store them inside a xml file or in a DB, because that's what they are made for.
从 php 手册:
编辑: 这可能可以进行优化,但要获取带有字体的行:
您可以使用字符串函数或正则表达式在该行中进一步挖掘以获取确切的字体名称(例如使用 strpos()),但是如何做到这一点取决于文件的一般格式。
From the php manual:
Edit: This can probably be optimized, but to get the line with the font:
You can dig further in that line using string functions or regular expressions to get the exact font name (using for example strpos()), but how to do that depends on the general format of the file.
这可以完成工作:
或者以不同的方式:
This does the job:
Or in a different style:
从文档 - http://www.php.net/ Manual/en/function.file-get-contents.php ,您可以使用 file_get_contents 使用从目录列表中获得的文件名来获取文件的内容。
string file_get_contents(string$filename[,bool$use_include_path= false[,resource$context[,int$offset= 0[, ] int $maxlen ]]]] )
注意:其他人已经详细回答了这个问题。编辑此答案以回应自私的评论,以详细说明链接的文档。
From the documentation - http://www.php.net/manual/en/function.file-get-contents.php , you can use file_get_contents to get the contents of files using the filenames you got from directory listing.
string file_get_contents ( string$filename [, bool$use_include_path = false [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )
NOTE: Others have already answered the question in detail. Edited this answer in response to sel-fish's comment to elaborate on the linked documentation.