Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用&;时php代码出现问题;链接中的符号_Php - Fatal编程技术网

使用&;时php代码出现问题;链接中的符号

使用&;时php代码出现问题;链接中的符号,php,Php,你好, 我有这段php代码 $url=”http://dikoiptv.zapto.org:25461/get.php?username=202020212022&password=303202404&type=m3u_plus&output=hls" ; 如果(isset($url)){ $m3ufile=文件获取内容($url); echo$m3ufile; } 当我调用该页面时,代码不起作用,此错误出现在错误日志文件中 [06-Mar-2021 18:52:45 UTC] PHP Wa

你好,

我有这段php代码

$url=”http://dikoiptv.zapto.org:25461/get.php?username=202020212022&password=303202404&type=m3u_plus&output=hls" ; 
如果(isset($url)){
$m3ufile=文件获取内容($url);
echo$m3ufile;
}
当我调用该页面时,代码不起作用,此错误出现在错误日志文件中

[06-Mar-2021 18:52:45 UTC] PHP Warning:  file_get_contents(http://dikoiptv.zapto.org:25461/get.php?username=202020212022&password=303202404&type=m3u_plus&output=hls): failed to open stream: Connection refused in /home/wwww/public_html/video/index.php on line 4
替换此项的问题&在指向&;的链接中; 是否有解决此问题的方法,谢谢

我没有收到错误消息,只是空白页面,代码在ionos主机上运行良好。我在其他平台上遇到了这个问题

从外观上看,您的源代码绝对没有问题。
至少,它在我的本地计算机上返回了预期的结果。
我相信它与
文件获取内容(…)
$url
没有什么关系

出于某种未知的原因,其他平台(即GODADDY主机)似乎将
&
字符转换为
&在您的URL中,然后将其传递到
文件\u获取内容($URL)

因此:

$m3ufile=文件获取内容('http://dikoiptv.zapto.org:25461/get.php?username=202020212022&;密码=303202404&;类型=m3u_plus&;输出=hls”);
将抛出
401未经授权的
错误:

PHP警告:文件获取内容(http://dikoiptv.zapto.org:25461/get.php?username=202020212022&;password=303202404&;type=m3u_plus&;output=hls):无法打开流:HTTP请求失败!HTTP/1.1 401未经授权
另一种方法是尝试使用,看看这是否解决了问题

$params=[
“用户名”=>“2020202022”,
“密码”=>“303202404”,
“类型”=>“m3u\U plus”,
“输出”=>“hls”
];
$url=”http://dikoiptv.zapto.org:25461/get.php?". http_build_查询($params);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$m3ufile=curl\u exec($ch);
卷曲关闭($ch);
echo$m3ufile;

添加
标题时(“内容类型:文本/普通”);var_dump($url)
分配变量
$url
后,得到的输出是什么?请将您的问题包含在更改后的PHP代码的输出中。这是否回答了您的问题?错误消息似乎与URL中的“&;”无关。您将收到“连接被拒绝”警告。换句话说,PHP无法连接到服务器,可能是因为防火墙问题,或者是因为端口25461上没有侦听内容。我在$url中放置的链接是一个工作链接,但是它返回的链接无法连接,因为其中包含错误。如果您注意到它们之间的差异,您可以看到它已更改了符号&使用此符号“&;”,这就是问题所在。GoDaddy很可能禁用了
allow\u url\u fopen
指令。您能运行
phpinfo()
并检查吗?如果是这种情况,则不能使用
file\u get\u contents()
加载远程URL,而只能加载本地文件,并且必须使用其他方法,如@steven7mwesigwa所建议的cURL)。