将URL转换为正确的文件名(Linux / Windows)

时间:2013-12-03 12:47:51

标签: php

我有一个适用于不同网站的脚本。因此,此脚本根据站点URL为1个站点返回1个csv文件,该文件具有唯一的文件名。网站网址可能不同,例如

http://test1.com
http://test2.com/testurl
http://test3.com/test/path/

我想将URL转换为文件名 - 删除所有可能导致Linux / Windows冲突的字符,用'_'替换它们,例如

http://test1.com will be test1com.csv
http://test2.com/testurl will be test2comtesturl.csv
http://test3.com/test/path/ will be test3comtestpath.csv

我可以尝试使用parse_url和concat主机和路径替换'/'和'。'到'_',但我不确定这是最好的解决方案,因为URL可能不同,并且具有不能用作文件名的不同字符。

1 个答案:

答案 0 :(得分:1)

您可以列出网址安全字符,并将列表中没有的任何字符转换为_

请注意重复项(例如site.com/test/x和site.com/text.x),如果有的话。找到一种方法来处理它们。