如何在PHP中转义mime_content_type的绝对路径

时间:2019-01-15 21:46:22

标签: php mime-types mime

我正在尝试上传一些文件,因此我也需要模仿类型。对于前几个文件mime_content_type似乎可以正常工作,我注意到,当(绝对)路径包含某些字符时,它将失败。

我尝试了一些不同的文件名和目录名,结果如下:

$path = "C:\Users\Desktop\empty.txt";
mime_content_type($path);
//Warning: mime_content_type(C:\Users\Desktop{empty-square}mpty.txt): failed to open stream: No such file or directory

$path = "C:\Users\Desktop\tempty.txt";
mime_content_type($path);
//Warning: mime_content_type(C:\Users\Desktop   empty.txt): failed to open stream: No such file or directory

$path = "C:\Users\Desktop\xemptydir\xempty.txt";
mime_content_type($path);
//Warning: mime_content_type(C:\Users\Desktop{empty-square}mptydir{empty-square}mpty.txt): failed to open stream: No such file or directory

$path = "C:\Users\Desktop\lemptydir\lempty.txt";
mime_content_type($path);
//OK

因此,在我看到\t变成制表符空间之后,变得更加清晰了,这些字符像\e\t\n\x造成这个问题。我以为转义可以解决问题,所以我尝试了addslashes(),但结果却一样。那我该如何解决这个问题呢?

编辑

发布问题后,我注意到“空方格”(类似于□)消失了,所以将其放在大括号中,这样您就知道那里有一个空方格。

0 个答案:

没有答案