php+curl 发送图片处理代码分享


  本文标签:php,curl,发送图片

//上传页面代码

  $url = "http://192.168.1.100/upload.php?lang=cn";  #可以get传相应参数
  $file = $path./. $Icon; //要上传的文件
  $fields[f] = @.$file;
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url );
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  curl_setopt($ch, CURLOPT_POST, 1 );
  curl_setopt($ch, CURLOPT_POSTFIELDS, $fields );
  curl_exec( $ch );
  if ($error = curl_error($ch) ) {
    die($error);
  }
  curl_close($ch); 

    //接收图片资源

  date_default_timezone_set(Asia/Shanghai); //设置时区
  $ip = ;
  if(getenv(HTTP_CLIENT_IP) && strcasecmp(getenv(HTTP_CLIENT_IP), unknown)){
        $ip = getenv(HTTP_CLIENT_IP);
    }elseif(getenv(HTTP_X_FORWARDED_FOR) && strcasecmp(getenv(HTTP_X_FORWARDED_FOR), unknown)){
        $ip = getenv(HTTP_X_FORWARDED_FOR);
    }elseif(getenv(REMOTE_ADDR) && strcasecmp(getenv(REMOTE_ADDR), unknown)){
        $ip = getenv(REMOTE_ADDR);
    }elseif(isset($_SERVER[REMOTE_ADDR]) && $_SERVER[REMOTE_ADDR] && strcasecmp($_SERVER[REMOTE_ADDR], unknown)){
        $ip = $_SERVER[REMOTE_ADDR];
    }
    preg_match("/[\d\.]{7,15}/", $ip, $ipmatches);
    $ip = $ipmatches[0] ? $ipmatches[0] : unknown;

    //驗證請求IP,设置白名单
    $date = date("[Y-m-d H:i:s]");
    $allowip = array(192.168.1.100);
    if(!in_array($ip,$allowip)){
        $ipVal = "{$date}{$ip}\n";
        file_put_contents(upload_ip.log, $ipVal, FILE_APPEN);
        die(-1);
    }

    //接收get传参
    $lang = isset($_REQUEST[lang]) ? $_REQUEST[lang] : CN; 
    $uploaddir = "/data/cdncache/res/gifts/{$lang}/";
    $uploadfile = $uploaddir . $_FILES[f][name];
    if (move_uploaded_file($_FILES[f][tmp_name], $uploadfile)) #保存图片成功
    {
        $type = $_FILES[f][type];
        $tmp_name = $_FILES[f][tmp_name];
        $error = $_FILES[f][error];
        $size = $_FILES[f][size];
        $log_txt =  name: . $_FILES[f][name] .  type: . $type .  tmp_name: . $tmp_name .  error: . $error .  size: . $size . " hello " .  lang: . $_REQUEST[lang];
        $value = "{$date}{$log_txt}\n";
        @file_put_contents(upload_ok.log, $value, FILE_APPEND);
        exit();
    } else {
        $type = $_FILES[f][type];
        $tmp_name = $_FILES[f][tmp_name];
        $error = $_FILES[f][error];
        $size = $_FILES[f][size];
        $log_txt =  name: . $_FILES[f][name] .  type: . $type .  tmp_name: . $tmp_name .  error: . $error .  size: . $size . " hello " .  lang: . $_REQUEST[lang];
        $value = "{$date}{$log_txt}\n";
        @file_put_contents(upload_ng.log, $value, FILE_APPEND);
        exit();
  }

以上所述就是本文的全部内容了,希望大家能够喜欢 。