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数据库连接时容易出错的特殊符号问题
Sep 01 PHP
解析php取整的几种方式
Jun 25 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
Jun 05 PHP
基于PHP的简单采集数据入库程序【续篇】
Jul 30 PHP
php设置页面超时时间解决方法
Sep 22 PHP
php简单日历函数
Oct 28 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
AJAX的使用方法详解
Apr 29 PHP
PHP新特性之字节码缓存和内置服务器
Aug 11 PHP
PHP微信支付结果通知与回调策略分析
Jan 10 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 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
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
2015/12/03 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
python cs架构实现简单文件传输
2020/03/20 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
年终考核评语
2014/01/19 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
优秀班主任工作总结2015
2015/05/25 职场文书
高二化学教学反思
2016/02/22 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
Python实现批量自动整理文件
2022/03/16 Python
基于Python实现股票收益率分析
2022/04/02 Python