如何从 PHP 读取 PNG 元数据?
这就是我到目前为止所得到的:
<?php
$file = "18201010338AM16390621000846.png";
$test = file_get_contents($file, FILE_BINARY);
echo str_replace("\n","<br>",$test);
?>
输出是我想要的,但我实际上只需要第 3-7 行(包括)。现在的输出如下所示: http://silentnoobs.com/pbss/collector/test。 php.我试图将数据从“PunkBuster Screenshot (±) AAO Bridge Crossing”获取到“Resulting: w=394 X h=196 Sample=2”。我认为读取文件并将每一行存储在一个数组中是相当直接的,行 [0] 需要是“PunkBuster Screenshot (±) AAO Bridge Crossing”,依此类推。所有这些行都可能发生变化,所以我不能只搜索有限的东西。
我已经尝试了几天了,但对我的 php 水平很差并没有多大帮助。
This is what I have so far:
<?php
$file = "18201010338AM16390621000846.png";
$test = file_get_contents($file, FILE_BINARY);
echo str_replace("\n","<br>",$test);
?>
The output is sorta what I want, but I really only need lines 3-7 (inclusively). This is what the output looks like now: http://silentnoobs.com/pbss/collector/test.php. I am trying to get the data from "PunkBuster Screenshot (±) AAO Bridge Crossing" to "Resulting: w=394 X h=196 sample=2". I think it'd be fairly straight forward to read through the file, and store each line in an array, line[0] would need to be "PunkBuster Screenshot (±) AAO Bridge Crossing", and so on. All those lines are subject to change, so I can't just search for something finite.
I've tried for a few days now, and it doesn't help much that I'm poor at php.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
PNG 文件格式 定义将 PNG 文档分割成多个数据块。因此,您必须导航到您想要的块。
您想要提取的数据似乎是在
tEXt
块中定义的。我编写了以下类来允许您从 PNG 文件中提取块。您可以使用它来提取所需的 tEXt 块,如下所示:
The PNG file format defines that a PNG document is split up into multiple chunks of data. You must therefore navigate your way to the chunk you desire.
The data you want to extract seem to be defined in a
tEXt
chunk. I've written the following class to allow you to extract chunks from PNG files.You may use it as such to extract your desired
tEXt
chunk as such:它假设一个基本格式良好的 PNG 文件。
It assumes a basically well formed PNG file.
几天前我发现了这个问题,所以我制作了一个库来用 PHP 提取 PNG 的元数据(Exif、XMP 和 GPS),100% 原生,我希望它有所帮助。 :) PNGMetadata
I found this problem a few days ago, so I made a library to extract the metadata (Exif, XMP and GPS) of a PNG in PHP, 100% native, I hope it helps. :) PNGMetadata
怎么样:
http://www.php.net/manual/en/function .getimagesize.php
How about:
http://www.php.net/manual/en/function.getimagesize.php