我正在编写各种“管道”来重命名和删除部分iCal Feed。我希望脚本将不同的源URL作为输入。
它的源参数值包含参数分隔符,参数如下所示:
?source=https://web.timeedit.se/hig_no/db1/timeedit/p/open/r.ics?sid=3&p=20130819.x%2C20131130.x&objects=160812.183&ox=0&types=0&fe=0&pp=f
以下是我的代码的摘录:
<?php $params = $_GET;
$content = file_get_contents($params['source']);
// ...
但是这不起作用,因为$ _GET的print_r看起来像这样:
Array
(
[source] => http://www.example.com/?source=https://web.timeedit.se/hig_no/db1/timeedit/p/open/r.ics?sid=3
[p] => 20130819.x,20131130.x
[objects] => 160812.183
[ox] => 0
[types] => 0
[fe] => 0
[pp] => f
)
如何获取完整的URL而不仅仅是[source]值?或者,是否有更好的方法来检索URL?最好是我可以将URL粘贴到参数中。
答案 0 :(得分:0)
你必须对源代码进行urlencode,例如
source=https%3A%2F%2Fweb.timeedit.se%2Fhig_no%2Fdb1%2Ftimeedit%2Fp%2Fopen%2Fr.ics%3Fsid%3D3%26p%3D20130819.x%2C20131130.x%26objects%3D160812.183%26ox%3D0%26types%3D0%26fe%3D0%26pp%3Df%0A
现在您将获得编码格式的完整网址。
然后像下面一样使用它。
$url = urldecode($_GET['source']);
这将有你的完整网址
答案 1 :(得分:0)
使用$ _SERVER。
function saveUrl() {
$pageURL = $_SERVER["REQUEST_URI"];
$URL=urlencode($pageURL);
return $URL;
}
$URL_ENC=saveUrl();