PHP file_get_contents 使用 var 参数失败

PHP file_get_contents with var params fails

我有一个网站接收一些参数并返回一个 phone 数字。

这是我从其他页面调用的:

$phoneNumber= file_get_contents("https://page.company.test/?app=$appid&affiliateid=$affiliatep&laNG=en&country=$countryp&sav=$savactive");

无法通过 像这样通过 url。我回应了整个 url 并且变量设置正确。

但是如果我像这样使用 url,它会起作用:

file_get_contents("https://page.company.test/?app=tsc&affiliateid=main&laNG=en&country=au&sav=false");

我错过了什么?

你不传递变量,现在使用字符串。

尝试扩展变量并连接成字符串

$phoneNumber= file_get_contents("https://page.company.test/?app=".$appid."&affiliateid=".$affiliatep."&laNG=en&country=".$countryp."&sav=".$savactive)

使用数组中的所有选项查看更方便的方法:GET Request from PHP using file_get_contents with parameters

(PHP 4, PHP 5, PHP 7) urlencode — URL-encodes string

string urlencode ( string $str )

This function is convenient when encoding a string to be used in a query part of a URL, as a convenient way to pass variables to the next page.

尝试对您的 url 进行编码以传递给 file_get_contents() 函数。

$url = "https://page.company.test/?app=$appid&affiliateid=$affiliatep&laNG=en&country=$countryp&sav=$savactive";
$url = urlencode($url);
$phoneNumber = file_get_contents($url);

有关详细信息,请参阅 php 文档:http://php.net/manual/en/function.urlencode.php

弄清楚了,感谢您的帮助,另一方面,开发人员强制使用 affiliateid 参数,他只是让我使用 "main"。也使用了这个并且效果很好.$savactive);