php - 如何用 PHP 读取文件属性?

标签 php file properties fileinfo

我想知道是否有一种方法可以像作者一样将数据存储在文件中?就像您在 Windows 中右键单击一个文件,然后设置它的属性。我可以在 PHP 中读取这些属性吗?

我真正想做的是,我想将图片上传到一个目录,当我在 PHP 页面中显示图片时,我想直接从jpg(或 png)文件的“属性”。

我尝试了 PHP 的 finfo_file() 函数,但没有成功。

感谢您的帮助。

最佳答案

I'm wondering if there is a way I can store data like the author, in a file? Like you right click on a file in Windows, and you set properties of it

Windows 可以通过两种方式显示文件的属性。第一种方式是它是否知道文件格式并且文件格式可以包含元数据。这方面的例子是 JPEG 和 Word 文档。在这两种格式中,关于文件的元数据(作者等)都包含在文件中,Windows 知道如何显示它。元数据的第二种存储方式是使用 NTFS 文件系统存储在替代数据流 (ADS) 中。可以在 http://www.irongeek.com/i.php?page=security/altds 找到使用 ADS 的良好指南。

Can I read those properties in PHP ?

对于文件内元数据,它取决于文件格式。 JPEG EXIF 数据可以通过 exif-read-data 函数 ( http://php.net/manual/en/function.exif-read-data.php )

读取

我没有方便的 NTFS 分区来测试它,但我相信如果在 Windows 中运行它并访问 NTFS 文件系统,您可能能够在 PHP 中访问替代数据流。

What I really want to do is, I want to upload images to a directory, and when I'm showing the images in the PHP page, I want to get the alt attribute directly from the jpg (or png) file's "properties".

包含您想要的元数据的 JPEG 可以通过上面提到的 exif-read-data 函数读取。 PNG 不保存 EXIF 数据,因此没有相应的功能(PNG 可以包含元数据,但似乎没有标准)。

如果您让用户在上传文件时包含姓名和其他数据,您可以存储这些数据并在显示图像时检索它们。数据可以存储在任何地方,例如在数据库中(可能将文件名链接到数据),或在文件系统中(对于名为 image1.png 的图像,您可以将作者的姓名存储在名为 image1.png.txt< 的文件中)。

关于php - 如何用 PHP 读取文件属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17931378/

相关文章:

c# - 如何找到 List<T> 中的特定元素?

c# - DataTrigger 内的 Storyboard 不会在 RaisePropertyChanged 事件上多次触发

php - jQuery 验证,使用 submitHandler 提交

php - 按下提交按钮后如何重定向到另一个页面?

php - 修改从 PDO 和 PHP 生成的 json

php - 从 cli php 脚本进行管道传输时,如何识别击键?

c# - 索引文件和在文件夹中查找文件的最快方法?

c++将结构 append 到二进制文件中

c++ - "Sprintf"删除分配给调用中未调用的变量的值

python - 在 Python 方法中设置属性