Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在web上读取PNG元数据_Php_Javascript_Png_Metadata - Fatal编程技术网

Php 在web上读取PNG元数据

Php 在web上读取PNG元数据,php,javascript,png,metadata,Php,Javascript,Png,Metadata,我最近编写了一个Python模块,该模块使用PIL将元标记和值写入PNG图像,目的是让网页读取标记并相应地对图像进行排序(我对相机类型之类的默认内容不感兴趣,例如,如果我刚刚参加过集会,我会附加“CarModel”之类的标记) 有人推荐一种阅读PNG元数据的方法吗?我现在正在使用PHP(http://stackoverflow.com/questions/2190236/how-can-i-read-png-metadata-from-php (在底部)这很好,因为它只显示了我添加的标签,但很烦

我最近编写了一个Python模块,该模块使用PIL将元标记和值写入PNG图像,目的是让网页读取标记并相应地对图像进行排序(我对相机类型之类的默认内容不感兴趣,例如,如果我刚刚参加过集会,我会附加“CarModel”之类的标记)

有人推荐一种阅读PNG元数据的方法吗?我现在正在使用PHP(http://stackoverflow.com/questions/2190236/how-can-i-read-png-metadata-from-php (在底部)这很好,因为它只显示了我添加的标签,但很烦人,因为我无法用许多图片的数据构建一个整洁的数组。javascript可以做到这一点吗


很抱歉,如果我解释得很糟糕,但如果需要,我会重新解释。

您应该看看下面的php函数-


PS:据我所知,javascript无法做到这一点

您应该看看下面的php函数-


PS:据我所知,javascript无法做到这一点,这里有一个指向声称能够读取图像元数据的javascript库的链接:


这里有一个指向声称能够读取图像元数据的Javascript库的链接:


nihilogic Javascript库对于客户端EXIF读取和解析确实非常有用;但这仅适用于JPEG图像,因为元数据仅支持JPEG和TIFF格式(TIFF格式仅由Safari浏览器本机支持)。
PNG可以包含元数据,但不能像JPEG或TIFF格式那样以IPTC或EXIF字段的形式包含。

nihilogic Javascript库对于客户端EXIF读取和解析确实非常有用;但这仅适用于JPEG图像,因为只有JPEG和TIFF格式才支持元数据(TIFF格式仅在Safari浏览器本机支持)。
PNG可以包含元数据,但不能像JPEG或TIFF格式那样以IPTC或EXIF字段的形式。我有一个类似的任务。我必须将物理维度和附加元数据写入PNG文件。我找到了一些解决方案,并将其合并到一个小库中。

它可以读写PNG元数据,可以在客户端和服务器端使用。 也许它会帮助别人

以下是如何在浏览器中读取PNG元数据:

        function loadFileAsBlob(url){
            return new Promise((resolve, reject) => {
                var xhr = new XMLHttpRequest();
                xhr.open('GET', url, true);
                xhr.responseType = 'blob';
                xhr.onload = function(e) {
                    if (this.status === 200) {
                        resolve(this.response);
                        // myBlob is now the blob that the object URL pointed to.
                    }else{
                        reject(this.response);
                    }
                };
                xhr.send();
            })
        };

        const blob = await loadFileAsBlob('1000ppcm.png');
        metadata = readMetadataB(blob);

我有一个类似的任务。我必须将物理维度和附加元数据写入PNG文件。我找到了一些解决方案,并将其合并到一个小库中。

它可以读写PNG元数据,可以在客户端和服务器端使用。 也许它会帮助别人

以下是如何在浏览器中读取PNG元数据:

        function loadFileAsBlob(url){
            return new Promise((resolve, reject) => {
                var xhr = new XMLHttpRequest();
                xhr.open('GET', url, true);
                xhr.responseType = 'blob';
                xhr.onload = function(e) {
                    if (this.status === 200) {
                        resolve(this.response);
                        // myBlob is now the blob that the object URL pointed to.
                    }else{
                        reject(this.response);
                    }
                };
                xhr.send();
            })
        };

        const blob = await loadFileAsBlob('1000ppcm.png');
        metadata = readMetadataB(blob);

我查看了一下,但它似乎只有TIFF和JPEG的兼容性。我查看了一下,但它似乎只有TIFF和JPEG的兼容性。