需要4分钟从Facebook下载个人资料图片。原因是什么?

时间:2014-01-16 13:25:03

标签: php facebook facebook-graph-api

我花了大约4-5个小时就完成了这件事。许多研究并尝试了许多不同的解决方案。

基本上我有一个使用facebook SDK的网站。一切都在dev上工作正常。通过facebook图表链接登录和下载用户个人资料图片。 然而,在现场,下载配置文件图像大约需要4-5分钟。 使用Facebook登录也很慢。

我使用以下作为测试而没有其他代码。

<?php 

echo 'start<br />';
echo time( );
echo '<br />';
$url = 'https://graph.facebook.com/100007116990483/picture?type=large';
$file_location = '<my hidden root>/test1.jpg';

 $ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_HTTPHEADER,array('User-Agent: ahm'));
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
$result=curl_exec($ch);
curl_close($ch);
$fileName = $file_location;
$file = fopen($fileName, 'w+');
fputs($file, $result);
fclose($file);

echo 'end<br />';
echo time( );
echo '<br /><br />';
echo '<img src="http://www.aussiehousemates.com.au/test1.jpg" />';
?>

您可以在此处运行此操作 www.aussiehousemates.com.au/fb-download-test.php

来自不同服务器的另一个测试(随机图像)也很慢。 www.aussiehousemates.com.au/fb-download-test2.php

但是这个文件使用copy()函数,速度就是我所期望的。 将副本用于其他文件会导致超时。 www.aussiehousemates.com.au/fb-download-test3.php

这是怎么回事?可能是什么原因?

快速代码如下

<?php 

echo 'start<br />';
echo time( );
echo '<br />';
$url = 'http://1dak.com/img/2012/06/beautiful-polish-girl-euro-2012.jpg';
$file_location = '/home/ahm/public_html/test.jpg';

copy($url, $file_location);

echo 'end<br />';
echo time( );
echo '<br /><br />';
echo '<img src="http://www.aussiehousemates.com.au/test.jpg" />';
?>

如上所述,使用带有facebook图像的copy()会导致超时,并且不会返回任何内容。

0 个答案:

没有答案