2010-10-12 82 views
0

如何使用PHP检查多个URL。从网址返回的数据可能是文本(ASCII)格式或二进制文件。我如何区分哪一个返回。PHP curl文本与二进制数据

我的代码只能检测数据是二进制还是文本。没有其他的。

感谢

+0

你所说的 “文本(ASCII)” 格式化这里,什么是 “二进制” 是什么意思?请澄清。你熟悉'内容类型'吗? – 2010-10-13 00:00:41

+0

请看下面我的评论。我正在检查的链接是音频流或流本身的播放列表。我需要判断链接是返回文本数据(播放列表)还是流本身是二进制数据。 – Ralphz 2010-10-13 17:57:28

回答

1

看那content-type

... 
$response = curl_exec($ch); 
$info = curl_getinfo($ch, CURLINFO_CONTENT_TYPE); 
var_dump($info); 
+0

这个认证只给我 – Ralphz 2010-10-13 17:13:12

+0

Content-Type:下载的对象,NULL表示服务器没有发送有效的Content-Type:头。所以它只有服务器在标题中设置的内容类型的值。我需要以某种方式识别结果是二进制数据(流)还是文本(ASCII)。 – Ralphz 2010-10-13 17:14:22

+0

那么,这是唯一可以猜测的方法是取一小部分答案并计算每个字符在其中出现的频率。之后 - 分析它们是哪种字符:ascii-text或一些,不能是文本的一部分。 – zerkms 2010-10-13 22:29:11