Php 使用api调用获取数据的更好选项,使用什么:fopen、file\u get\u contents和cURL

Php 使用api调用获取数据的更好选项,使用什么:fopen、file\u get\u contents和cURL,php,Php,我正在使用API调用获取数据 我想知道哪个是更好的选择 fopen、file\u get\u contents或cURL 请帮忙 编辑 我必须对远程系统进行API调用这取决于您的使用情况,因为您说的是API调用,我猜这不是本地的 如果您多次调用请求,请使用cull,因为它具有非常好的性能 如果您多次调用它,并且不知道如何使用curl,那么file\u get\u内容就足够了 这取决于您的使用情况,因为您说的是api调用,我猜这不是本地的 如果您多次调用请求,请使用cull,因为它具有非常好的性能

我正在使用API调用获取数据

我想知道哪个是更好的选择

fopen、file\u get\u contents或cURL

请帮忙

编辑
我必须对远程系统进行API调用这取决于您的使用情况,因为您说的是API调用,我猜这不是本地的

如果您多次调用请求,请使用cull,因为它具有非常好的性能

如果您多次调用它,并且不知道如何使用curl,那么file\u get\u内容就足够了


这取决于您的使用情况,因为您说的是api调用,我猜这不是本地的

如果您多次调用请求,请使用cull,因为它具有非常好的性能

如果您多次调用它,并且不知道如何使用curl,那么file\u get\u内容就足够了


您可以使用
文件获取内容()
。这取决于您的配置是否启用了该设置。否则,您将无法使用
file\u get\u contents()
fopen()
,因为它们都依赖于此设置。那样的话,你需要卷曲


您不需要使用
fopen()
。您可以使用
文件获取内容()
,也可以使用cURL。

您可以使用
文件获取内容()
。这取决于您的配置是否启用了该设置。否则,您将无法使用
file\u get\u contents()
fopen()
,因为它们都依赖于此设置。那样的话,你需要卷曲


您不需要使用
fopen()
。您可以使用
文件获取内容()
,也可以使用cURL。

这取决于您的设置

如果启用了
allow\u URL\u fopen
,则fopen和file\u get\u内容只能用于通过URL获取数据。因此,如果主机已禁用此功能,则无法使用此功能


如果是这样,您仍然可以使用cURL。cURL还允许您在处理远程URI调用时具有更大的灵活性

这取决于您的设置

如果启用了
allow\u URL\u fopen
,则fopen和file\u get\u内容只能用于通过URL获取数据。因此,如果主机已禁用此功能,则无法使用此功能


如果是这样,您仍然可以使用cURL。cURL还允许您在处理远程URI调用时具有更大的灵活性

取决于您需要定制多少请求

  • fopen
    返回必须用于手动读取响应的
    资源
  • file\u get\u contents
    为您执行所有读取操作(您必须使用
    fopen
    手动执行),并返回结果字符串
  • curl
    是专门为网络事务定制的(根据post,它比
    file\u get\u contents
    要快得多,并提供了一个设置头值的API)
这三种方法都允许您定制请求头,但使用
fopen
file\u get\u contents
进行定制需要使用上下文回调来设置
stream\u context\u create()
的值


通常,当您需要对静态数据执行简单的
get
操作时,
file\u get\u contents
似乎很常见。
curl
在执行其他操作时似乎是标准的。

取决于您需要定制请求的程度

  • fopen
    返回必须用于手动读取响应的
    资源
  • file\u get\u contents
    为您执行所有读取操作(您必须使用
    fopen
    手动执行),并返回结果字符串
  • curl
    是专门为网络事务定制的(根据post,它比
    file\u get\u contents
    要快得多,并提供了一个设置头值的API)
这三种方法都允许您定制请求头,但使用
fopen
file\u get\u contents
进行定制需要使用上下文回调来设置
stream\u context\u create()
的值


通常,当您需要对静态数据执行简单的
get
操作时,
file\u get\u contents
似乎很常见。
curl
在执行其他操作时似乎是标准的。

答案取决于您试图从中获取此数据的源。如果它是本地磁盘上的文件,则fopen()应该这样做;如果它是某个xml/html文件,cURL是合适的。我从来没有听说过其他事情,对不起。@Pete Wilson:哦,我相信我必须等待更多的答案。答案取决于您试图从哪个来源获取此数据。如果它是本地磁盘上的文件,那么fopen()应该这样做;如果它是某个xml/html文件,cURL是合适的。我从来没有听说过其他事情,对不起。@Pete Wilson:哦,我认为我必须等待更多的答案。这是错误的-你可以在
文件中使用上下文来获取内容
帖子
请求设置合适的标题。fopen对你来说是完全合法的se,但要求您自己读取数据。话虽如此,我真的想不出使用
fopen
的用例,但它是可行的。@Demian Brecht感谢您提供的信息。我不知道。我会更新我的答案。
fopen()
,我没有说它不能使用。我只是说如果你可以使用
文件获取内容()
,你就不需要它。不用担心:)可能有一个用例可以自己读取数据,我只是想不出一个,这就是为什么我在回复中没有打折的原因。否则,是的,我同意这一部分:)这是不正确的-您可以使用
文件中的上下文\u get\u contents
POST
请求设置适当的标题。fopen完全可以合法使用,但要求您在