【问题标题】:urlencode doesn't work in PHP (localhost)urlencode 在 PHP (localhost) 中不起作用
【发布时间】:2014-05-06 10:03:09
【问题描述】:

所以我在一个需要编码我的 URL 的项目中工作,例如在我的 URL 中:

$url = 'http://www.test.com/?sms=+212&text=bla bla'
urlencode($url);

$url = urlencode($url);

我也试过rawurlencode($url);,我得到了相同的Url,没有改变!!

所以如果有人有任何想法,我会非常感激:)

【问题讨论】:

  • 可能是个愚蠢的问题,但你是像urlencode($url) 还是$url = urlencode($url); 那样使用它?只有第二个会起作用,因为urlencode 函数会返回值,并且不会更改引用。
  • 我更新了我的问题,是的,我使用第二个 :)
  • 你怎么看 url 没有改变? echoing 了吗?
  • 是的,我使用了 var_dump($url) 并且没有任何改变
  • 您不会在此处分享任何可以支持您的声明“不起作用”的内容。你既不分享预期的结果应该是什么,你得到了什么,也不分享你是如何测试它的。但是:请放心,您的 localhost 版本的 PHP 没有 urlencode 的错误,并且可以完美运行! 更多的是您在这里混淆了一些东西。另请参阅处理 URL 和 urlencode 的其他问题。

标签: php localhost urlencode


【解决方案1】:
$url = "http://www.test.com/?sms=+212&text=bla bla";
echo $url = urlencode($url);

【讨论】:

    【解决方案2】:

    urlencode 返回一个新的编码 url,不会更改传递给它的 $url。试试这个

    $encoded_url = urlencode($url);
    

    $encoded_url 就是你想要的

    【讨论】:

      【解决方案3】:

      你的url数据应该是字符串。

      <?php
      $url = 'http://www.test.com/?sms=+212&text=bla bla';
      $encoded = urlencode($url);
      echo(urlencode($url)); //simple urlencode
      echo('<br>');
      echo($encoded);//output with varible
      echo('<br>');
      $url = urlencode($url);
      echo($url);
      

      注意你在什么地方重新定义了你的 url var。该代码的输出如下所示:

      http%3A%2F%2Fwww.test.com%2F%3Fsms%3D%2B212%26text%3Dbla+bla
      http%3A%2F%2Fwww.test.com%2F%3Fsms%3D%2B212%26text%3Dbla+bla
      http%3A%2F%2Fwww.test.com%2F%3Fsms%3D%2B212%26text%3Dbla+bla
      

      【讨论】:

        【解决方案4】:

        第二个确实有效:

        $url = "http://www.test.com/?sms=+212&text=bla bla";
        
        $url = urlencode($url);
        
        echo $url;
        

        查看 demonstration

        我也注意到了

        $url = http://www.test.com/?sms=+212&text=bla bla
        

        是无效的字符串格式。对字符串使用' '" "

        $url = "http://www.test.com/?sms=+212&text=bla bla";
        

        【讨论】:

        • 是的,这就是问题所在:(当我在线尝试时它可以工作,但是当我在本地主机中尝试时它不起作用!我想知道它在本地主机中不起作用??
        • 你的 PHP 版本是多少?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-15
        • 2016-09-11
        • 2013-06-26
        • 2012-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多