http://www.example.com/some_folder/some file [that] needs "to" be (encoded).zip
urlencode($myurl);

问题在于urlencode也将对斜杠进行编码,从而使URL无法使用。我如何只编码最后一个文件名?

最佳答案

试试这个:

$str = 'http://www.example.com/some_folder/some file [that] needs "to" be (encoded).zip';
$pos = strrpos($str, '/') + 1;
$result = substr($str, 0, $pos) . urlencode(substr($str, $pos));

您正在寻找斜杠符号的最后一次出现。之前的部分还可以,所以只需复制一下即可。其余部分用urlencode编码。

关于php - PHP urlencode-仅编码文件名,请勿触摸斜杠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17179877/

10-10 03:05