带有var params的PHP file_get_contents失败

时间:2016-03-06 15:27:49

标签: php file-get-contents

我有一个网站,它接收一些参数并返回一个电话号码。

这是我从其他页面发出的电话:

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

失败像这样传递网址。我回应了整个网址,并且正确设置了变量。

但是,如果我使用这样的网址,它可以工作:

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

我想念什么?

3 个答案:

答案 0 :(得分:0)

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

尝试展开变量并连接到字符串

    <!DOCTYPE html>
<html >
  <head>
    <meta charset="UTF-8">
    <title>Maiko Rekords</title>



    <link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'>

        <link rel="stylesheet" href="css/style2.css">




  </head>

  <body>

    <div class="container">
<ul id="pricingTable">
  <li>
    <h4>Quantity</h4>
    <ul>
      <li>300pcs $183.00</li>
      <li>500pcs $305.00</li>
      <li>1000pcs $610.00</li>
    </ul>
  </li>
<li>
    <h4>Size</h4>
    <ul>
      <li>7" Vinyl $330.00</li>
      <li>10" Vinyl $550.00</li>
      <li>12" Vinyl $1,100.00</li>
    </ul>
  </li>
  <li>
    <h4>Weight</h4>
    <ul>
      <li>120gr $183.00</li>
      <li>150gr $305.00</li>
      <li>180gr $610.00</li>
    </ul>
  </li>
<li>
    <h4>Color</h4>
    <ul>
      <li>Black $0.00</li>
      <li>Transparent $0.00</li>
      <li>Single Color $417.00</li>
      <li>Two Color $417.00</li>
      <li>Three Color $417.00</li>
    </ul>
  </li>

<p><input id="basePrice" type="text" value="170.00" placeholder="Black Vinyl" /></p>

</div>
    <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

        <script src="js/index.js"></script>

  </body>
</html>

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

答案 1 :(得分:0)

  

(PHP 4,PHP 5,PHP 7)urlencode - URL编码字符串

     

string urlencode(string $ str)

     

此功能很方便   编码要在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

答案 2 :(得分:0)

想出来,感谢您的帮助,另一方面,开发者强制要求使用affiliateid参数,他只是让我使用“main”。也使用这个并且工作得很好$ phoneNumber = file_get_contents(“https://page.company.test/?app=”。$ appid。“&amp; affiliateid = main”。$ affiliatep。“&amp; laNG = en&amp; country =”。$ countryp。“&amp; ; SAV =” $ savactive);