我的网络主机刚刚禁用 fopen()
我的脚本曾经打开并写入服务器上的文本文件,但现在不能了。
有没有 fopen 的替代功能?
您可能可以使用fsockopen()来做到这一点。对我来说,这很有效:
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
不要忘记更改主机和请求参数
从来没听说过。但在共享主机上使用它是一个非常安全的功能(但只有在环境设置正确的情况下),所以如果您的主机出于安全原因禁用它,他们是安全新手,您应该找到一个新主机。
无论如何都要找一个新的
我认为不需要启用cURL 。allow_url_fopen
但是,必须安装 cURL 扩展。用于phpinfo()
检查是否已安装。
它比您的正常情况要先进一点,fopen()
或者file_get_contents()
但绝对是一种替代方案。
如果可用,您可能可以使用 cURL 复制您的脚本