Php 文件获取内容($url)返回一些服务器的额外数据
我制作了一个简单的脚本来隔离我的问题:Php 文件获取内容($url)返回一些服务器的额外数据,php,iis,Php,Iis,我制作了一个简单的脚本来隔离我的问题: <?php $url = "http://www.sitlor.fr/photos/754/754000273_4.jpg"; file_put_contents("test.jpg", file_get_contents($url)); ?> 如果我使用curl脚本,它工作得很好: function curly($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,
<?php
$url = "http://www.sitlor.fr/photos/754/754000273_4.jpg";
file_put_contents("test.jpg", file_get_contents($url));
?>
如果我使用curl脚本,它工作得很好:
function curly($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
file_put_contents("test.jpg", curly("http://www.sitlor.fr/photos/754/754000273_4.jpg"));
但我不能:我也需要getimagesize,当我在problematics文件上使用它时,它返回false
我还注意到问题只发生在我的远程服务器上。当我在本地尝试这些脚本时,效果很好
编辑:
我添加了IIS标记,因为我可以从响应HTTP标头中看到他们正在使用IIS服务器:
Server :"Microsoft-IIS/6.0"
X-Powered-By :"ASP.NET"
X-AspNet-Version :"4.0.30319"
编辑2:
以下是文件的二进制差分vbindiff输出
似乎额外的零件是33 32 34 0D 0A我不知道这意味着什么:
/tmp/original.jpg
0000 0000: FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 01 2C ......JF IF.....,
0000 0010: 01 2C 00 00 FF E1 03 BA 45 78 69 66 00 00 49 49 .,...... Exif..II
0000 0020: 2A 00 08 00 00 00 0B 00 0E 01 02 00 3B 00 00 00 *....... ....;...
/tmp/extra-bytes.jpg
0000 0000: 33 32 34 0D 0A FF D8 FF E0 00 10 4A 46 49 46 00 324..... ...JFIF.
0000 0010: 01 01 01 01 2C 01 2C 00 00 FF E1 03 BA 45 78 69 ....,.,. .....Exi
0000 0020: 66 00 00 49 49 2A 00 08 00 00 00 0B 00 0E 01 02 f..II*.. ........
只有iss标签提示您使用iss,您需要自己调试,因为我们无法重现该问题。@LozCheroneツ 我自己无法调试:www.sitlor.fr是一个我不拥有的Web服务。问题在他们这边?我添加了IIS标记,因为服务器使用IIS服务器,这很好,但在我的测试中,所有图像都下载并工作正常,getimagesize没有问题,根本没有问题。如果文件在本地为您工作,但不在远程服务器上,则需要比较设置。我想不出为什么它只会给这些文件而不是所有的文件添加额外的字节。还有额外的字节是什么?我添加了两个文件之间的二进制差异。
/tmp/original.jpg
0000 0000: FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 01 2C ......JF IF.....,
0000 0010: 01 2C 00 00 FF E1 03 BA 45 78 69 66 00 00 49 49 .,...... Exif..II
0000 0020: 2A 00 08 00 00 00 0B 00 0E 01 02 00 3B 00 00 00 *....... ....;...
/tmp/extra-bytes.jpg
0000 0000: 33 32 34 0D 0A FF D8 FF E0 00 10 4A 46 49 46 00 324..... ...JFIF.
0000 0010: 01 01 01 01 2C 01 2C 00 00 FF E1 03 BA 45 78 69 ....,.,. .....Exi
0000 0020: 66 00 00 49 49 2A 00 08 00 00 00 0B 00 0E 01 02 f..II*.. ........