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 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
PHP编程网上资源导航
Oct 09 PHP
PHP用户指南-cookies部分
Oct 09 PHP
php 获取当前访问的url文件名的方法小结
Feb 08 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
May 03 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
Sep 10 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
Sep 30 PHP
php去除数组中为0的元素的实例分析
Nov 17 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
node.js中的path.sep方法使用说明
2014/12/08 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
JS实现双击内容变为可编辑状态
2017/03/03 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
python itsdangerous模块的具体使用方法
2020/02/17 Python
5款实用的python 工具推荐
2020/10/13 Python
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
上课玩手机检讨书
2014/02/08 职场文书
七匹狼男装广告词
2014/03/21 职场文书
广播体操比赛口号
2014/06/10 职场文书
初中学习计划书范文
2014/09/15 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
500字作文之关于爸爸
2019/11/14 职场文书