标签: file-get-contents

如何使用file_get_contents在PHP中发布数据?

我正在使用PHP的函数file_get_contents()来获取URL的内容,然后我通过变量处理标头$http_response_header.

现在问题是某些URL需要将一些数据发布到URL(例如,登录页面).

我怎么做?

我意识到使用stream_context我可以做到这一点,但我并不完全清楚.

谢谢.

php http http-post file-get-contents

287
推荐指数
2
解决办法
32万
查看次数

file_get_contents():SSL操作失败,代码为1.还有更多

我一直在尝试从我在服务器上创建的PHP页面访问这个特定的REST服务.我将问题缩小到这两行.所以我的PHP页面如下所示:

<?php
$response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json");

echo $response; ?>
Run Code Online (Sandbox Code Playgroud)

该页面在第2行死亡,并出现以下错误:

  • 警告:file_get_contents():SSL操作失败,代码为1. OpenSSL错误消息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败...第2行的php
    • 警告:file_get_contents():无法在第2行的... php中启用加密
    • 警告:file_get_contents(https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json):无法打开流:第2行的... php操作失败

我们正在使用Gentoo服务器.我们最近升级到PHP 5.6版.升级后出现此问题.

我发现,当我一个地址替换REST服务一样https://www.google.com; 我的页面工作正常.

在我之前的一次尝试中,我将“verify_peer”=>false其作为参数传递给file_get_contents,如下所述: file_get_contents忽略verify_peer => false? 但就像作者所指出的那样; 它没有任何区别.

我问过我们的服务器管理员是否存在php.ini文件中的这些行:

  • 延长= php_openssl.dll
  • allow_url_fopen =开

他告诉我,因为我们在Gentoo上,openssl是在我们构建时编译的; 并且它没有在php.ini文件中设置.

我也证实这allow_url_fopen是有效的.由于这个问题的专业性; 我没有找到很多帮助信息.有没有人遇到过这样的事情?谢谢.

php rest ssl file-get-contents

163
推荐指数
14
解决办法
25万
查看次数

file_get_contents()是否有超时设置?

file_get_contents()在循环中使用该方法调用一系列链接.每个链接可能需要15分钟以上才能处理.现在,我担心PHP是否file_get_contents()有超时期限?

如果是,它将超时通话并转到下一个链接.如果没有事先完成,我不想打电话给下一个链接.

那么,请告诉我是否file_get_contents()有超时期限.包含的文件file_get_contents()设置set_time_limit()为零(无限制).

php timeout file-get-contents

141
推荐指数
4
解决办法
12万
查看次数

PHP cURL与file_get_contents

访问REST API时,这两段代码有何不同?

$result = file_get_contents('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');
Run Code Online (Sandbox Code Playgroud)

$ch = curl_init('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

从判断起,它们都产生相同的结果

print_r(json_decode($result))
Run Code Online (Sandbox Code Playgroud)

php curl file-get-contents

100
推荐指数
4
解决办法
10万
查看次数

如何让file_get_contents()与HTTPS一起使用?

我正在设置信用卡处理,需要使用CURL的解决方法.当我使用测试服务器(没有调用SSL URL)时,以下代码工作正常,但现在当我在使用HTTPS的工作服务器上测试它时,它失败并显示错误消息"无法打开流".

function send($packet, $url) {
  $ctx = stream_context_create(
    array(
      'http'=>array(
        'header'=>"Content-type: application/x-www-form-urlencoded",
        'method'=>'POST',
        'content'=>$packet
      )
    )
  );
  return file_get_contents($url, 0, $ctx);
}
Run Code Online (Sandbox Code Playgroud)

php https curl file-get-contents

99
推荐指数
8
解决办法
28万
查看次数

PHP file_get_contents()返回"无法打开流:HTTP请求失败!"

我在从PHP代码调用url时遇到问题.我需要使用PHP代码中的查询字符串来调用服务.如果我在浏览器中键入url,它可以正常工作,但如果我使用file-get-contents()来进行调用,我会得到:

警告:file-get-contents(http:// ....)无法打开流:HTTP请求失败!HTTP/1.1 202接受于......

我使用的代码是:

$query=file_get_contents('http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
echo($query);
Run Code Online (Sandbox Code Playgroud)

就像我说 - 从浏览器调用,它工作正常.有什么建议?

我也尝试过另一个网址,例如:

$query=file_get_contents('http://www.youtube.com/watch?v=XiFrfeJ8dKM');
Run Code Online (Sandbox Code Playgroud)

这工作得很好......可能是我需要调用的网址中有第二个http://吗?

php api file-get-contents query-string

81
推荐指数
7
解决办法
34万
查看次数

url不存在时的file_get_contents

我正在使用file_get_contents()来访问URL.

file_get_contents('http://somenotrealurl.com/notrealpage');
Run Code Online (Sandbox Code Playgroud)

如果URL不是真实的,则返回此错误消息.如何才能优雅地将其置于错误状态,以便我知道页面不存在并相应地执行操作而不显示此错误消息?

file_get_contents('http://somenotrealurl.com/notrealpage') 
[function.file-get-contents]: 
failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found 
in myphppage.php on line 3
Run Code Online (Sandbox Code Playgroud)

例如在zend你可以说: if ($request->isSuccessful())

$client = New Zend_Http_Client();
$client->setUri('http://someurl.com/somepage');

$request = $client->request();

if ($request->isSuccessful()) {
 //do stuff with the result
}
Run Code Online (Sandbox Code Playgroud)

php file-get-contents

69
推荐指数
7
解决办法
8万
查看次数

file_get_contents()分解UTF-8字符

我正在从外部服务器加载HTML.HTML标记具有UTF-8编码,并包含诸如ľ,š,č,ť,ž等字符.当我使用file_get_contents()加载HTML时,如下所示:

$html = file_get_contents('http://example.com/foreign.html');
Run Code Online (Sandbox Code Playgroud)

它弄乱了UTF-8字符并加载Å,¾,¤和类似的废话而不是正确的UTF-8字符.

我怎么解决这个问题?

更新:

我尝试将HTML保存到文件并使用UTF-8编码输出.两者都不起作用,这意味着file_get_contents()已经返回损坏的HTML.

UPDATE2:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sk" lang="sk">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="sk" />
<title>Test</title>

</head>
<body>


<?php

$html = file_get_contents('http://example.com');
echo htmlentities($html);

?>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

php utf-8 file-get-contents

58
推荐指数
5
解决办法
10万
查看次数

file_get_contents的替代?

$xml_file = file_get_contents(SITE_PATH . 'cms/data.php');
Run Code Online (Sandbox Code Playgroud)

问题是服务器禁用了URL文件访问.我无法启用它,它是托管的东西.

所以问题是这个.该data.php文件生成xml代码.

如何在不执行上述方法的情况下执行此操作并获取xml数据?

可能吗?

php file-get-contents

41
推荐指数
2
解决办法
9万
查看次数

使用file_get_contents显示图像

如何在php中显示使用file_get_contents检索的图像?

我需要修改标题,只是回应它或什么?

谢谢!

php file-get-contents http-headers

40
推荐指数
5
解决办法
16万
查看次数

标签 统计

file-get-contents ×10

php ×10

curl ×2

api ×1

http ×1

http-headers ×1

http-post ×1

https ×1

query-string ×1

rest ×1

ssl ×1

timeout ×1

utf-8 ×1