如何使用php fopen()与非标准端口?

时间:2014-07-01 18:53:08

标签: php fopen

我需要我的网站能够使用fopen()来访问我的文件流服务器上的文件,我们的管理员已将其配置为使用端口8000.但它出错并且我认为这是因为端口号。 我也在php.ini中启用了allow_url_fopen ,所以我不认为这是问题所在。

Warning: fopen(http://129.237.213.244:8000/mp3/First_8864.mp3) [function.fopen]: 
failed to open stream: Connection refused in _npp_get_mp3() (line 23 of 
/home2/ab83417/public_html/drupal/sites/all/modules/npr_player_pack/npp_library.php).

所以我的问题是:我可以以某种方式告诉网络服务器或我们的流服务器(icecast,btw)停止如此挑剔,还是应该使用其他一些像curl这样的php函数?

1 个答案:

答案 0 :(得分:1)

您应确保将allow_url_fopen设置为1

启动以下脚本:

<?php
error_reporting(E_ALL);
ini_set('display_errors','1');

echo ini_get('allow_url_fopen')."<br />";
$x = file_get_contents('http://129.237.213.244:8000/mp3/First_8864.mp3');

$y = fopen('http://129.237.213.244:8000/mp3/First_8864.mp3',"rb");

它给了我简单的1并且没有警告。如果你也得到1但有警告你应该在其他浏览器中运行该脚本并更早地更改你的ip(例如vpn)。该网站可能已禁止您的IP,因此您无法连接此网站/网址。