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 相关文章推荐
建站常用13种PHP开源CMS比较
Aug 23 PHP
php trim 去除空字符的定义与语法介绍
May 31 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
PHP中子类重载父类的方法【parent::方法名】
May 06 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
Yii2.0中的COOKIE和SESSION用法
Aug 12 PHP
mongodb和php的用法详解
Mar 25 PHP
Laravel路由研究之domain解决多域名问题的方法示例
Apr 04 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 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判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
Markdown+Bootstrap图片自适应属性详解
2016/05/21 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
Vue Cli3 创建项目的方法步骤
2018/10/15 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
[48:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 VG vs KG
2018/03/31 DOTA
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
python实现简易云音乐播放器
2018/01/04 Python
Python模块文件结构代码详解
2018/02/03 Python
Python连接Redis的基本配置方法
2018/09/13 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
Django中ORM的基本使用教程
2020/12/22 Python
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
土木工程专业自荐信
2013/10/04 职场文书
上课迟到检讨书
2014/02/19 职场文书
网页美工求职信范文
2014/04/17 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python