输出URL到json

时间:2013-09-06 21:52:28

标签: cakephp json

我想为用户上传的文件生成网址,并对其进行序列化。 在控制器中我可以做类似的事情:

$myURL = Router::url('/', TRUE) . 'files' . DS . $relationName . DS . 'attachment' . DS . $attachmentData['dir'] . $attachmentData['attachment'];

但如果文件名有空格,则不会被转义。

我知道我可以在视图中使用html帮助器,但这意味着我将无法使用控制器中的序列化魔法。我也不想通过在控制器中使用HTML帮助器来破坏蛋糕,或模特。

我有办法从控制器创建webroot中的文件的网址(http://example.c.../someimage.jpg)吗?

1 个答案:

答案 0 :(得分:0)

我尝试了serialize中传递的以下测试变量:

$test = 'http://my.url.com/test.jpg';
$test1 = 'http://my.url.com/test file.jpg';
$test2 = urlencode('http://my.url.com/test file.jpg');

结果是:

"test": "http:\/\/my.url.com\/test.jpg",
"test1": "http:\/\/my.url.com\/test file.jpg",
"test2": "http%3A%2F%2Fmy.url.com%2Ftest+file.jpg"

所以我没有看到任何问题,网址在test中正确进行了JSON编码,而test1test2已经从PHP进行了urlencoded编码,因此会按原样传递。< / p>