不同的主机下载远程文件,一个正常打开,一个打不开,咋破,求兄弟姐妹,叔叔阿姨,大爷大妈们指点!!!

2015-08-10 19:50:17 +08:00
 yifeng
1.我在自己的电脑上(win7)搭建了一个Apache+php+mysql的环境,用的是XAMPP集成环境,需要下载远程服务器(100.1.100.123)上/var/www/pacp/20150810.pcap文件,下载到本地,用wireshark可以正常打开。
-------------------------------------------------------------------------------------------------------
2.然后我在自己的服务器上(debain系统)搭建了一个Apache+php+mysql的环境,同样是下载远程服务器(100.1.100.123)上/var/www/pacp/20150810.pcap文件,下载到本地,打开出错。
-------------------------------------------------------------------------------------------------------
3.具体实现是在浏览器中输入url,
本机对应:localhost/exportfile.php,
服务器对应:100.1.100.100/exportfile.php
下载下来的20150810.pacp文件大小一样,
通过localhost/exportfile.php下载下来的是正常的,用wireshark打开正常显示数据
但是通过100.1.100.100/exportfile.php下载下来的,打开没有数据显示,但是文件大小一样。
------------------------------------------------------------------------------------------------------------------
4.考虑到编码问题,但是更改utf-8、gb2312、或者二进制,还是同样的错误,
本机和服务器上的代码是一样的,都用到了httpcopy这个函数

function httpcopy($url, $file="", $timeout=60) {
$file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
$dir = pathinfo($file,PATHINFO_DIRNAME);
!is_dir($dir) && @mkdir($dir,0755,true);
$url = str_replace(" ","%20",$url);
if(function_exists('curl_init')) {
$ch = curl_init();
// echo $url;
// $this_header = array("content-type: application/x-www-form-urlencoded;charset=UTF-8");
$this_header = array("content-type: application/octet-stream;charset=UTF-8");
curl_setopt($ch,CURLOPT_HTTPHEADER,$this_header);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$temp = curl_exec($ch);
if(@file_put_contents($_SERVER["DOCUMENT_ROOT"] ."/Functional_pages/maintain_management/tcp_report/".$file, $temp) && !curl_error($ch)) {
return $file."rrrrrrrrrrrrr";
} else {
return false;
}
} else {
$opts = array(
"http"=>array(
"method"=>"GET",
"header"=>"",
"timeout"=>$timeout)
);
$context = stream_context_create($opts);
if(@copy($url, $file, $context)) {
//$http_response_header
echo "bbbb";
return $file;
} else {
return false;
}
}
-------------------------------------------------------------------------------------------
5:咋办,求帮助,求指导!!!
2072 次点击
所在节点    PHP
2 条回复
yifeng
2015-08-11 11:38:55 +08:00
自己往前顶一下吧,求关注,求指点!
yifeng
2015-08-11 15:43:49 +08:00
看来这个节点有些冷啊,
临时解决方案,就是在url中通过绝对路径直接访问那个文件,浏览器下载下来后是正常的,
谁帮忙解决一下啊,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/212188

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX