使用&;时php代码出现问题;链接中的符号
你好, 我有这段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
$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)。