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


Posted in PHP onJuly 09, 2015

//上传页面代码

$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();
  }

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

PHP 相关文章推荐
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
May 04 PHP
php函数实现判断是否移动端访问
Mar 03 PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
thinkphp5 redis缓存新增方法实例讲解
Mar 24 PHP
PHP新手指南
Apr 01 PHP
在Debian系统下配置LNMP的教程
Jul 09 #PHP
PHP+Mysql基于事务处理实现转账功能的方法
Jul 08 #PHP
php将html转成wml的WAP标记语言实例
Jul 08 #PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 #PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 #PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 #PHP
PHP实现多文件上传的方法
Jul 08 #PHP
You might like
PHP读取文件的常见几种方法
2016/11/03 PHP
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
javascript实用方法总结
2015/02/06 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
Python使用Django实现博客系统完整版
2020/09/29 Python
django的ORM模型的实现原理
2019/03/04 Python
pandas删除指定行详解
2019/04/04 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
美国NBA官方商店:NBA Store
2019/04/12 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
盛大二次面试题
2016/11/18 面试题
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
保护环境倡议书
2014/04/14 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
个人自我剖析材料
2014/09/30 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
k8s部署redis cluster集群的实现
2021/06/24 Redis
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫