【问题标题】:How do I encode a query string containing forward slashes?如何编码包含正斜杠的查询字符串?
【发布时间】:2011-10-10 06:30:20
【问题描述】:

我需要将路径作为参数传递给 url,例如 /Controller/Action/My-Path 但 My-Path 包含正斜杠,例如/dir1/dir2/file.php 有没有办法将此路径作为单个参数传递,或者我需要将路径分解为/Controller/Action/Param1/dir1/Param2/dir2/Param3/file.php。一些示例代码将不胜感激

TIA 以法莲

【问题讨论】:

    标签: php zend-framework url


    【解决方案1】:

    你可以使用 url view helper,例如:

        echo $this->view->url(
                array(
                'controller' => 'somecontroller',   
                'action' => 'someaction',    
                'path'=>'/dir1/dir2/file.php')
                );
    

    这将导致:

    public/somecontroller/someaction/path/%2Fdir1%2Fdir2%2Ffile.php
    

    url view helper 自动使用 url_encode 对您的参数进行编码(请参阅其他 anwser)。

    【讨论】:

    • 嵌入 link 并得到
    【解决方案2】:

    见:http://ar2.php.net/url_encode

    所以你会这样做:

    $param = url_encode("/this/parameter/file");
    

    【讨论】:

    • 嵌入 link 你会得到 ../path//dir1/dir2/file .php
    猜你喜欢
    • 2011-04-25
    • 1970-01-01
    • 2012-06-28
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    相关资源
    最近更新 更多