如何将图像从我的服务器发送到图像托管服务器

时间:2013-12-30 06:26:04

标签: php image

我想创建一个PHP脚本,让用户从他们的计算机浏览图像,然后将其上传到图像托管服务器,图像托管服务器,我的意思是图像托管服务,如imageshack.us,photobucket或blogger.com ......我认为这有四个步骤:

  • 显示允许用户浏览图片的上传表单
  • 将图片上传到我的服务器
  • 将它们复制到图像托管服务器(使用我的图像托管帐户)
  • 获取上传的图片链接(来自托管服务器,而非我的)

然而,我只知道如何处理第一步和第二步,我对其余部分一无所知。请给我一些建议,我该怎么做才能完成第3步和第4步,我应该使用什么功能,是否可以让php打开页面并单击我要上传图像的按钮,就像这样。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

对于imageshack.us

检查http://api.imageshack.us/并请求访问权限http://imageshack.us/api_request/

并发送文件检查此答案https://stackoverflow.com/a/14571212/829533

<?php
    $url = 'http://imageshack.us/upload_api.php';
    $key = KEY;
    $max_file_size = '5242880';
    $temp = $_FILES["fileupload"]["tmp_name"];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_URL, $url);

    $post = array(
        "fileupload" => '@' . $temp,
        "key" => $key,
        "format" => 'json',
        "max_file_size" => $max_file_size,
        "Content-type" => "multipart/form-data"
    );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    $response = curl_exec($ch);
    $json_a=json_decode($response,true);
    echo $json_a[links][image_link];
?>

表单就像

<form method="post" enctype="multipart/form-data" action="upload.php">
    <input type="file" name="fileupload"/>
    <input type="submit" value="Go"/>
</form>

答案 1 :(得分:-1)

根据您的问题,我发现您有一台服务器,我认为ImageS3可能是您上传图片的选项。

如果您使用ImageS3作为图片托管服务,那么步骤将如下所示:

  • 显示用户浏览图片的上传表单。
  • 使用ImageS3 rest api直接上传图片。

    POST image to http://you-server-url/rest/v1/imageplants/<imageplant id>/images/

  • 从ImageS3 rest api获取上传的图像(原点或缩略图)。

    GET http://you-server-url/rest/v1/imageplants/<imageplant id>/images/imageId?template=

您可以在https://github.com/images3/images3-play查看此项目,在http://docs.images3api.apiary.io/查看REST API参考。

干杯,