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 相关文章推荐
PHP设计聊天室步步通
Oct 09 PHP
PHP添加MySQL数据记录代码
Jun 07 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
完善CodeIgniter在IDE中代码提示功能的方法
Jul 19 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
详解PHP队列的实现
Mar 14 PHP
Laravel 框架返回状态拦截代码
Oct 18 PHP
laravel 解决多库下的DB::transaction()事务失效问题
Oct 21 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 PHP
PHP Trait功能与用法实例分析
Jun 03 PHP
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
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
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
2014/09/09 PHP
设定php简写功能的方法
2019/11/28 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
正则表达式,替换所有HTML标签的简单实例
2016/11/28 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
Three.js基础学习之场景对象
2017/09/27 Javascript
JavaScript 异步调用
2017/10/25 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
详细介绍Python语言中的按位运算符
2013/11/26 Python
Python的函数嵌套的使用方法
2014/01/24 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
Python网络爬虫中的同步与异步示例详解
2018/02/03 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
Python如何使用函数做字典的值
2019/11/30 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
浅析NumPy 切片和索引
2020/09/02 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
代办委托书怎么写
2014/08/01 职场文书
七夕情人节问候语
2015/11/11 职场文书