Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 文件获取内容()的替代方案_Php_File Get Contents - Fatal编程技术网

Php 文件获取内容()的替代方案

Php 文件获取内容()的替代方案,php,file-get-contents,Php,File Get Contents,我知道以前有人问过这个问题,但可能不是在我使用的上下文中 我们的拨号系统有一种将基于表单的线索输入拨号器的方法。你必须访问某个网站, 例如: 我目前正在使用 file_get_contents('http://www.website.com/non_agent_api?source=webform& telephone_number=0123456789&name=Bloggs') 但它似乎是相当命中和小姐Id说,大约只有70%的线索得到正确添加 有人知道替代方案吗?不太可能

我知道以前有人问过这个问题,但可能不是在我使用的上下文中

我们的拨号系统有一种将基于表单的线索输入拨号器的方法。你必须访问某个网站, 例如:

我目前正在使用

file_get_contents('http://www.website.com/non_agent_api?source=webform&
telephone_number=0123456789&name=Bloggs')
但它似乎是相当命中和小姐Id说,大约只有70%的线索得到正确添加


有人知道替代方案吗?

不太可能
文件获取内容失败是问题的根本原因。更可能的情况是,您正在创建一个格式错误的请求—例如,您没有正确地对参数进行URL编码。您是否有在生成请求之前验证输入的方法?你使用正确的编码吗?您是否知道服务器端有任何可能导致请求失败的验证规则

您可以尝试使用cURL来替代
文件获取内容
——这就是您所问问题的答案。但更可能的是,实际问题在于正确编码/验证您的请求

Exmaple:

$name = "Freddy Mercury";
$e_name = urlencode($name);
$request = "http://www.server.com/addEntry.php?name=".$e_name;
echo $request
导致

http://www.server.com/addEntry.php?name=Freddy+Mercury

如您所见,“禁止”空间被替换为
+
符号。您可能希望在生成请求之前包含其他验证函数。

您可以尝试使用curl。它还有几个选择。我只是在另一个答案中展示了一些例子:谢谢,我会研究一下。一直滚动到我链接答案的底部,看看我在那里定义的
myCurl
函数。可能是一个起点……你知道“添加潜在客户”是如何失败的吗?可能是号码格式不正确,姓名中有空格或其他“禁止”字符等吗?我怀疑
file\u get\u contents()
实际上是你的问题。这可能是一种情况?您可以/应该记录和分析错误-无论是在脚本端还是在远程服务器端,如果您可以控制它的话。失败的请求可能会在某个地方导致错误。