无法读取目录名称或文件名中包含#的文件

时间:2018-01-21 17:18:39

标签: php file-handling

my_data

这会返回以下错误

  

[function.file-get-contents]:无法打开流:HTTP请求失败!找不到HTTP / 1.1 404。

注意,该文件存在于该特定位置,但由于文件名和目录名称为file_get_contents('http://localhost/project/ds_FWREF#1801\msg_1_ds_FW SYSREF#180133.json'); ,我无法访问。

1 个答案:

答案 0 :(得分:1)

#URLs中的特殊字符。它标志着片段的开始。

要在网址中使用其文字值,必须正确URL-encoded

将文件名传递给函数urlencode()以生成正确的URL。它会处理special in URLs/&=#?%的所有字符,等)

$filename = 'ds_FWREF#1801\msg_1_ds_FW SYSREF#180133.json';

$content = file_get_contents('http://localhost/project/'.urlencode($filename));