使用PHP将图像上传到telegra.ph

时间:2017-11-20 20:14:51

标签: php python telegram

我不懂Python语言。有人可以帮我理解我是否正确地将其转换为PHP?我想用PHP将文件上传到http://telegra.ph,但我不知道如何从PHP上传。

此代码是Python Telegraph API wrapper library

的示例
import requests

with open('/Users/python273/Desktop/123345.jpeg', 'rb') as f:
    print(
        requests.post(
            'http://telegra.ph/upload',
            files={'file': ('file', f, 'image/jpeg')}  # image/gif, image/jpeg, image/jpg, image/png, video/mp4
        ).json()
    )

这是我的PHP代码,但不起作用。有什么不对吗?

$url = 'http://example.com/image.jpg';
$img = 'http://telegra.ph/upload/';
$ch = curl_init($url);
$fp = fopen($img, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

当我运行此代码时,我看到以下错误:

  

警告:copy(telegra.ph/upload):无法打开流:HTTP包装器不支持可写连接

1 个答案:

答案 0 :(得分:0)

您的代码:

$img = 'http://telegra.ph/upload/';
...
$fp = fopen($img, 'wb');

PHP fopen()文档在这里http://php.net/manual/en/function.fopen.php,检查$mode参数的含义。如果您只需要阅读它,为什么要尝试打开远程文件进行写入?