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基于base64解码图片与加密图片还原实例
Nov 03 PHP
php 删除cookie方法详解
Dec 01 PHP
PHP获取文件夹大小函数用法实例
Jul 01 PHP
详谈PHP编码转换问题
Jul 28 PHP
PHP实现XML与数据格式进行转换类实例
Jul 29 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 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
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
php.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
PHP实现获取某个月份周次信息的方法
2015/08/11 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python和Go语言的区别总结
2019/02/20 Python
python getpass实现密文实例详解
2019/09/24 Python
Python 没有main函数的原因
2020/07/10 Python
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
金蝶的一道SQL笔试题
2012/12/18 面试题
自我评价的范文
2014/02/02 职场文书
扬尘污染防治方案
2014/06/15 职场文书
会计学专业求职信
2014/07/17 职场文书
运动会演讲稿50字
2014/08/25 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android
MYSQL如何查看操作日志详解
2022/05/30 MySQL