我的网络主机刚刚禁用了fopen()
我的脚本用于打开和写入服务器上的文本文件,但不再可以。
是否有替代函数fopen?
答案 0 :(得分:3)
您可以使用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);
}
不要忘记更改主机和请求参数
答案 1 :(得分:2)
不是我知道的。但它是一个非常安全的功能,可以在共享主机上使用(但只有在环境设置正确的情况下),所以如果您的主机出于安全原因禁用它,那么它们就是安全新手,您应该找到一个新的主机。
无论如何找一个新的
答案 2 :(得分:2)
我认为cURL不需要启用allow_url_fopen
。但是,必须安装cURL扩展。使用phpinfo()
检查是否已安装。
它比普通fopen()
或file_get_contents()
更先进,但绝对是另类选择。
答案 3 :(得分:1)
如果可用,您可以使用cURL复制脚本