图片资源推送远程服务器

本地form表单

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<form action="./form.php" method="post" enctype="multipart/form-data">
    <input type="file" name="img">
    <input type="submit" value="submit">
</form>
</body>
</html>

本地服务器

<?php
/**图片跨服务器上传,利用curl推送,推送成功后删除本地图片*/
header('content-type:text/html;charset=utf8');
$file = $_FILES['img'];
if ($file['error'] == 0){
    $path = './'.$file['name'];
    $moveRs = move_uploaded_file($file['tmp_name'],$path);
    //上传到其他服务器
    $url = 'http://test.top/receive.php';//test.top远端域名
    if($moveRs){
        $rs = http_curl($path,$url);
        echo "图片".$rs."上传到资源服务器成功";
    }    
}
function http_curl($path,$url){
    $curl = curl_init();
    if (class_exists('\CURLFile')) {
        curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
        $data = array('file' => new \CURLFile(realpath($path)));//>=5.5
    }else{
        if (defined('CURLOPT_SAFE_UPLOAD')) {
            curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
        }
        $data = array('file' => '@' . realpath($path));//<=5.5
    }

    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1 );
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERAGENT,"TEST");
    $result = curl_exec($curl);
    return $result;
}

远端接收处理

<?php
header('content-type:text/html;charset=utf8');
$filename = $_FILES['file']['name'];
$tmpname = $_FILES['file']['tmp_name'];
$url = './Upload/bookimg/';
if(move_uploaded_file($tmpname, $url.$filename))
{
    echo json_encode($filename);
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值