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编程与应用
Oct 09 PHP
PHP+FLASH实现上传文件进度条相关文件 下载
Jul 21 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
PHP数组传递是值传递而非引用传递概念纠正
Jan 31 PHP
递归删除一个节点以及该节点下的所有节点示例
Mar 19 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
Apr 08 PHP
php动态绑定变量的用法
Jun 16 PHP
php根据数据id自动生成编号的实现方法
Oct 16 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
PHP实现的简单AES加密解密算法实例
May 29 PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 PHP
用PHP的反射实现委托模式的讲解
Mar 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
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
深入研究React中setState源码
2017/11/17 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
Python with的用法
2014/08/22 Python
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
简单说明Python中的装饰器的用法
2015/04/24 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
python+pygame实现坦克大战
2019/09/10 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
为什么相对PHP黑python的更少
2020/06/21 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
Laura Mercier官网:彩妆大师罗拉玛斯亚的化妆品牌
2018/01/04 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
销售会计岗位职责
2014/03/15 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
MySQL系列之六 用户与授权
2021/07/02 MySQL
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL