为什么 file_get_contents 不起作用?

2024-04-10

为什么file_get_contents not为我工作?在下面的测试文件代码中,似乎我搜索过的每个示例都列出了此函数,但它从未被执行。这是网络托管服务的问题吗?有人可以在他们的服务器上测试这段代码只是为了看看地理编码数组输出是否真的作为字符串打印出来吗?当然,我试图将输出分配给一个变量,但是这个测试文件中没有输出......

<html>
<head>        
<title>Test File</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"> 
</script>
</head>
<body>
<?    
$adr = 'Sydney+NSW';
echo $adr;
$url = "http://maps.googleapis.com/maps/api/geocode/json?address=$adr&sensor=false";
echo '<p>'.$url.'</p>';
echo file_get_contents($url);
print '<p>'.file_get_contents($url).'</p>';
$jsonData   = file_get_contents($url);
echo $jsonData;
?>
</body>
</html>

Check file_get_contents PHP Manual http://php.net/file_get_contents return value. If the value is FALSE then it could not read the file. If the value is NULL then the function itself is disabled.

要了解更多可能出现问题的信息file_get_contents操作时,您必须启用错误报告和错误显示才能实际读取它们。

# Enable Error Reporting and Display:
error_reporting(~0);
ini_set('display_errors', 1);

您可以通过检查服务器上的 INI 值来获取有关调用失败原因的更多详细信息。一个值直接影响file_get_contents函数是allow_url_fopen http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen。您可以通过运行以下代码来完成此操作。您应该注意,如果它报告不允许使用 fopen,那么您必须要求您的提供商更改服务器上的此设置,以便任何需要此函数的代码都可以使用 URL。

<html>
    <head>        
        <title>Test File</title>
        <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">
        </script>
    </head>
    <body>
<?php

# Enable Error Reporting and Display:
error_reporting(~0);
ini_set('display_errors', 1);

$adr = 'Sydney+NSW';
echo $adr;
$url = "http://maps.googleapis.com/maps/api/geocode/json?address=$adr&sensor=false";
echo '<p>', $url, '</p>';

$jsonData = file_get_contents($url);

echo '<pre>', htmlspecialchars(substr($jsonData, 128)), sprintf(' ... (%d)', strlen((string)$jsonData)), '</pre>';

# Output information about allow_url_fopen:
if (ini_get('allow_url_fopen') == 1) {
    echo '<p style="color: #0A0;">fopen is allowed on this host.</p>';
} else {
    echo '<p style="color: #A00;">fopen is not allowed on this host.</p>';
}


# Decide what to do based on return value:
if ($jsonData === FALSE) {
    echo "Failed to open the URL ", htmlspecialchars($url);
} elseif ($jsonData === NULL) {
   echo "Function is disabled.";
} else {
   echo '<pre>', htmlspecialchars($jsonData), '</pre>';
}

?>
    </body>
</html>

如果所有这些都失败,可能是由于使用了短开放标签,<?。因此,该答案中的示例代码已更改为使用<?php正确工作,因为无论设置什么配置选项,这都保证在所有版本的 PHP 中工作。要为您自己的脚本执行此操作,只需替换<? or <?php.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 file_get_contents 不起作用? 的相关文章

  • PHP 文件服务脚本:下载不可靠?

    这篇文章最初是关于 ServerFault 的一个问题 https serverfault com questions 131156 user receiving partial downloads https serverfault co
  • 无法与站点通信以检查致命错误

    无法与站点通信以检查致命错误 因此 PHP 更改已恢复 您需要通过其他方式上传 PHP 文件更改 例如使用 SFTP 有什么解决办法 我正在 WordPress 中编辑头文件 遇到这个问题 尝试这个 我有同样的问题并决定调查一下 更改 wp
  • 禁用/启用用户访问/下载,但允许 php 编辑 - 使用 chown 和 chmod

    我想 move uploaded files到某个文件夹 比方说http localhost myproject protected 并且 PHP 应该能够rm mv cp 里面的一切protected 例如 启用 禁用用户对任何文件的访问
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt
  • file_get_contents,HTTP 请求失败

    我尝试使用以下方式从另一个网站获取内容file get contents但我总是收到 无法打开流 HTTP 请求失败 allow url fopen 已打开 并且我已经在防火墙关闭的情况下进行了测试 但还是会出现这种情况 请问还有什么原因呢
  • 这是过滤数据并防止 SQL 注入和其他攻击的安全方法吗?

    我创建了两个简单的函数来在插入数据进入 mysql 查询之前对其进行过滤 对于表单字段 我还使用正则表达式来单独检查每个字段 Form filter function filter var HTML is not allowed var s
  • 我们可以在 Bash 脚本中使用 PHP 吗?

    我有一个 bash 脚本abcd sh bin sh for i in seq 8 do ssh w i uptime ps elf grep httpd wc l free m mpstat done pid sleep 1 kill 9
  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • PHP FTP_PUT 上传到目录

    我正在自学PHP 一本名为 PHP完全参考 PHP5 2 的书 我目前正在使用第 11 章 FTP 上传 删除 makedir 等 但遇到了一些本书未涵盖的问题 根据我的教科书 这是上传到服务器的简单代码 connect ftp conne
  • 如何接收发送到 twilio 号码的短信

    我在 twilio 创建了一个免费帐户 用于通过我的网站发送短信 注册后 我得到了一个 twilio 号码 例如 XXX XXX XXXX 我可以向手机号码发送消息 但我不知道如何使用这个 twilio 号码接收短信 请帮我解决这个问题 T
  • 与 PHP 相比,Python 与 HTML 的“流畅”程度如何?

    我正在考虑从使用 PHP 切换到使用 Python 来开发 Web 应用程序 但我想知道 Python 是否像 PHP 一样擅长在 HTML 中穿插 本质上 我发现它使用起来非常简单 直观将 PHP 放在我想要的位置 然后可以随意安排 组织
  • PHP 多个 Ajax 请求:第一个请求阻止第二个请求

    我在一页上有 2 个 ajax 请求 我运行了第一个请求并单独启动了第二个请求 但第二个在第一个运行后停止工作 第一次结束后继续 第一个请求需要很长时间 大约 30 60 秒 此时我需要第二个请求来显示日志第一个请求发生的情况 我尝试使用
  • 如何使用 Google Calendar API 和官方 PHP 库创建全天活动?

    我有这个代码 event new Event event gt setSummary event summary event gt setLocation event location start new EventDateTime sta
  • Google Closure 编译器和 multipart/form-data 不起作用

    我正在向 google 闭包编译器 API 服务发出请求 content file get contents file js url http closure compiler appspot com compile post true p
  • 根据重复值对 PHP 数组进行排序

    我有一个包含重复值的数组 我想对数组进行排序 以便重复次数最多的值出现在行中的第一个 这是我的数组的示例 array 1 2 3 2 1 2 2 我想对该数组进行排序 以便它根据重复项的数量对自身进行排序 如下所示 array 2 1 3
  • php 包含打印 1

    我编写了以下代码 当我将 include 函数与旨在输出到页面的函数 例如 或 echo include foo php 结合使用时 它会返回包含内容 但在已包含的内容后面带有 1 echo include foo php 应该 inclu
  • PHP、PDO 和 SQLSRV 对一个 INSERT 语句执行多次

    我已经在 MySQL 和 Apache 服务器上使用 PDO 和 PHP 一段时间了 我最近的任务是将企业的旧 Web 应用程序转换为新设置 旧设置是标准 Linux Web 堆栈 Apache PHP MySQL Filezilla 新设
  • Google Drive V3、Google API 客户端 2.0 - 批量上传失败

    使用 Google Drive V3 和 API v2 0 主分支进行批量上传失败 我已经修改了https github com google google api php client blob master examples batch
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已

随机推荐

  • jarsigner 错误:java.time.DateTimeException:MonthOfYear 的值无效(有效值 1 - 12):0

    我在签署 Ionic android apk 时收到此错误 我使用的是 Kubuntu 17 04 使用 Ionic 3 安装了 java 8 我得到的错误 Enter Passphrase for keystore updating ME
  • 将文本添加到每个数组元素的开头

    我有一个数组 其中包含如下内容 ZS125 48ATab STR125YBTab KS125 24Tab ZS125 50Tab DFE125 8ATab ZS125 30Tab HT125 8Tab HT125 4FTab STR50Ta
  • Slim 框架:路由和控制器

    最初 我的 Slim Framework 应用程序具有经典结构 索引 php
  • PropertyChangedEventHandler 未异步触发

    我已经实现了此属性来隐藏和显示元素 private bool isWorking false public bool IsWorking get return this isWorking set this isWorking value
  • SQL 分割字符串并获取 NULL 值而不是空字符串

    如何拆分字符串并获取 NULL 值而不是空字符串 我对两种方法特别感兴趣STRING SPLIT and XML 我希望这个查询 SELECT FROM STRING SPLIT a b d 将返回第三行NULL而不是空字符串 有没有简单的
  • ClickOnce 有哪些替代方案? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我用过单击一次 https en wikipedia org wiki ClickOnce多年来 我经历
  • 检测字符是简体字还是繁体字

    我找到了这个question https stackoverflow com questions 2727804 how to determine if a character is a chinese character这使我能够检查字符
  • KarmaJS、Jasmine、RequireJS 等:如何使用 Require 测试模块

    使用 RequireJS 运行 Karma Jasmine 测试 起步 帮助 求救 目前 我有一个练习项目 旨在熟悉 KarmaJS 以及整个单元测试 广泛的问题是 我对 Karma 在幕后所做的事情确实没有透明的了解 而且我似乎无法在相关
  • 使用 boost::karma 格式化纬度/经度字符串

    我需要格式化double值转换为具有非常特定格式的坐标字符串 DDMMSS SSX where DD 是完整的学位 MM 是完整的分钟 SS SS 是带有小数的秒 X 是 N 或 S 具体取决于半球 这些字段需要用零填充 不能接受空格 格式
  • Service Worker 注册时出错

    我正在尝试注册服务工作者 但出现以下错误 注册ServiceWorker失败 当前的URL协议 不支持原点 null 我在 localhost 下使用 Node js 我有我的索引 html and service worker js在同一
  • 使用 es2017 的 async wait 重构 Promise 和 Promise.all

    我有一个照片上传处理程序的工作版本 但我想看看它如何与异步等待一起工作 在下面的内容之前是我使用 Promise 的工作代码 onChangePhotos e gt e preventDefault let files e target f
  • 如果单元测试失败则 make 失败

    我有一个用于编译静态库的 makefile 该生成文件具有编译与静态库关联的单元测试套件的规则 编译测试套件后 将调用 python 脚本来运行测试并记录结果 它看起来像这样 unit MAKE C cXbase unit python T
  • 如何在ssl连接期间加载客户端证书以进行相互身份验证?

    我无法在 ssl 连接上加载客户端证书 以便服务器可以对其进行身份验证 可能是什么问题 LoadCertificates 函数可以正常加载服务器证书 我能够在客户端获取服务器证书 但无法在服务器端获取客户端证书 我还想验证证书是否由正确的
  • Javascript?:如何动态添加文本输入/表单字段到 HTML 表单?

    我正在构建一个网络表单 其中有一个输入列表 到目前为止 一切都很好 但是 如何添加链接 按钮以将另外 5 个字段添加到列表中 例如
  • Xcode 4 卡在“扫描工作副本”上

    我刚刚归档并提交了一个项目 当我返回打开该项目时 它挂在 扫描工作副本 上 我可以导航 但无法查看项目文件 这实际上只是一个链接问题 选择您的项目并确保您已打开 身份和类型 它位于右侧编辑器栏中 使用 查看 按钮切换打开和关闭 您可以在那里
  • FFmpeg 支持哪些编解码器和格式? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我需要 FFmpeg 支持的编解码器和格式列表 我在哪里可以找到它 正确的编解码器 ffmpeg codecs Formats ffm
  • findOrCreate 与 include -sequelize.js

    我想创建一个比赛 如果不存在 以及Match 如果不存在 与锦标赛关联 let match created await Match findOrCreate where scoreHome 97 Tournament name USA So
  • PhpStorm 资源根的相对路径

    我使用 PhpStorm 9 并且我的项目结构与此类似 src elements element alfa element alfa html element alfa scss templates application html ind
  • 无法删除 nav_host_fragment 顶部的空间

    我刚刚实现了底部导航 AS 的默认设置 文件 gt 新建 gt 活动 gt 底部导航活动 除了顶部的空格之外 一切都很好nav host fragment 由于它是在 ConstraintLayout 中生成的 我尝试清理约束并设置顶部约束
  • 为什么 file_get_contents 不起作用?

    为什么file get contents not为我工作 在下面的测试文件代码中 似乎我搜索过的每个示例都列出了此函数 但它从未被执行 这是网络托管服务的问题吗 有人可以在他们的服务器上测试这段代码只是为了看看地理编码数组输出是否真的作为字