【发布时间】:2012-11-20 17:24:45
【问题描述】:
这是我的代码:
$language = $_GET['soundtype'];
$word = $_GET['sound'];
$word = urlencode($word);
if ($language == 'english') {
$url = "<the first url>";
} else if ($language == 'chinese') {
$url = "<the second url>";
}
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: <my user agent>"
)
);
$context = stream_context_create($opts);
$page = file_get_contents($url, false, $context);
header('Content-Type: audio/mpeg');
echo $page;
但我发现这运行得非常慢。
有没有可能的优化方法?
注意:$url 是一个远程 URL。
【问题讨论】:
-
$url 是本地路径还是 http:// url?
-
@Intrepidd 是的,很抱歉,远程网址。
-
文件的大小和获取需要多少秒?一个除以另一个,你会发现带宽。如果它出乎意料地慢,你或远程方需要更多!
-
定义“慢”。两秒?二十秒? 2分钟?你用什么来衡量的?你拿什么来比较?在命令行上也很慢吗?其他方法怎么样,比如 curl?您做了哪些测试和故障排除?
-
那你为什么不把这两个文件下载到你的服务器并提供这些文件而不是远程文件呢?
标签: php file-get-contents