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的无限分类实现想法~
Jan 02 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
php实现TCP端口检测的方法
Apr 01 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
Jul 18 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
php实现基于PDO的预处理示例
Mar 28 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 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 isset()与empty()的使用区别详解
2010/08/29 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
PHP类的特性实例分析
2016/09/28 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
引用外部脚本时script标签关闭的写法
2014/01/20 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
Python实现windows下模拟按键和鼠标点击的方法
2015/03/13 Python
举例讲解Python中is和id的用法
2015/04/03 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
python 实现IP子网计算
2021/02/18 Python
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
班主任寄语大全
2014/04/04 职场文书
房屋租赁协议书
2014/04/10 职场文书
成绩单公证书
2014/04/10 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
推荐信范文大全
2015/03/27 职场文书
详解Python生成器和基于生成器的协程
2021/06/03 Python
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
JAVA 线程池(池化技术)的实现原理
2022/04/28 Java/Android
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技