如何将 Twitter 帐户图像复制到服务器?

发布于 2024-11-07 13:54:12 字数 343 浏览 0 评论 0原文

我正在使用 twitter api 访问一些帐户详细信息。已经明确表示您可以轻松获取 Twitter 帐户图像:

http://a0 .twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg

但是,当我尝试将 PHP 中的该图像复制()到本地服务器时,它不起作用。看来您甚至无法 ping 地址,因为“找不到主机”。

如何将 Twitter 帐户图像复制到本地服务器?

I am using the twitter api to access some account details. It's been made clear that you can easily get the twitter account image:

http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg

However, when i try to copy() this image in PHP to my local server it doesn't work. It seems you can't even ping the address as 'could not find host'.

How can I copy the twitter account image to my local server?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

稳稳的幸福 2024-11-14 13:54:12
$twitsImg ='http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg';

$twit=file_get_contents($twitsImg);
$new_img = basename($twitsImg);

file_put_contents($new_img,$twit);
$twitsImg ='http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg';

$twit=file_get_contents($twitsImg);
$new_img = basename($twitsImg);

file_put_contents($new_img,$twit);
记忆里有你的影子 2024-11-14 13:54:12

您遇到的问题是 php ini 文件变量 allow_url_fopen 已关闭,这是应该的。您需要使用 cURL 来获取该文件。 cURL 通常默认安装在 Web 服务器上。此示例适用于我的网站:

<?php
function save_image($img,$path){
    $ch = curl_init($img);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $data=curl_exec($ch);
    curl_close ($ch);
    if(file_exists($path)){
        unlink($path);
    }
    $fp = fopen($path,'x');
    fwrite($fp, $data);
    fclose($fp);
}

save_image("http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg","up/file2.jpg");
?>

另外请确保您在目标文件夹上设置了正确的 CHMOD (775)。

The problem you are having is that the php ini-file variable allow_url_fopen is turned off, as it should be. You need to be using cURL to get the file. cURL is usually installed on web servers by default. This example works on my site:

<?php
function save_image($img,$path){
    $ch = curl_init($img);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $data=curl_exec($ch);
    curl_close ($ch);
    if(file_exists($path)){
        unlink($path);
    }
    $fp = fopen($path,'x');
    fwrite($fp, $data);
    fclose($fp);
}

save_image("http://a0.twimg.com/profile_images/1260994338/P3030586-2_bigger.jpg","up/file2.jpg");
?>

Also make sure you have the right CHMOD (775) set on your destination folder.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文