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警告Cannot use a scalar value as an array的解决方法
Jan 11 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
php生成二维码的几种方式整理及使用实例
Jun 03 PHP
php利用单例模式实现日志处理类库
Feb 10 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
PHP实现懒加载的方法
Mar 07 PHP
关于PHP文件的自动运行方法分析
May 13 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
php四种定界符详解
Feb 16 PHP
PHP中有关长整数的一些操作教程
Sep 11 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漏洞小结
2012/02/05 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
php屏蔽错误及提示的方法
2020/05/10 PHP
奇妙的js
2007/09/24 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
javascript函数重载解决方案分享
2014/02/19 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
Python中防止sql注入的方法详解
2017/02/25 Python
Python pandas用法最全整理
2019/08/04 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
flask项目集成swagger的方法
2020/12/09 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
CSS3 input框的实现代码类似Google登录的动画效果
2020/08/04 HTML / CSS
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
武汉某公司的C#笔试题面试题
2015/12/25 面试题
计算机操作自荐信
2013/12/07 职场文书
青春演讲稿范文
2014/05/08 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android