首页 > 解决方案 > 使用 php 写入文件正在更改原始 EOL 类型

问题描述

我正在使用file_get_contents()从外部 URL 检索 SVG 文件,一旦我拥有它,我将其存储为变量,然后使用header('Content-type: image/svg+xml');保存的文件提供文件保留原始 EOL 类型,在本例中为LF.

但是,我发现如果我保存文件,file_put_contents()则保存文件中的 EOL 类型将更改为CRLF. 我也刚刚测试过,fwrite但结果相同,保存的文件更改为CRLF

有没有办法使用file_put_contentsfwrite保留 EOL 类型或任何其他可能更好地服务于此目的的方法?我已经检查了这些函数的 php 文档,但找不到有用的参数.. 还搜索了这个论坛和谷歌的解决方案,但找不到任何东西.. 我花了一些时间,觉得是时候把它打开了交给其他可能有更好洞察力的人。

我正在下载的文件可能包含LFOR CRLF,因此我正在寻找一种方法来保存文件并保留原始 EOL 类型。

这是原始 svg 文件的链接:https ://svgur.com/s/_ey

您可以通过使用 notepad++ 打开文件并转到查看 -> 显示符号 -> 显示行尾来确认 EOL 类型

标签: phpnewline

解决方案


推荐阅读