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
微信公众平台天气预报功能开发
Jul 06 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
详解php用curl调用接口方法,get和post两种方式
Jan 13 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
Yii2.0实现生成二维码功能实例
Oct 24 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
PHP isset()及empty()用法区别详解
Aug 29 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高效率写法(详解原因)
2013/06/20 PHP
网页上facebook分享功能具体实现
2014/01/26 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
php中使用url传递数组的方法
2015/02/11 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
event对象获取方法总结在google浏览器下测试
2013/11/03 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
js 获取html5的data属性实现方法
2017/07/28 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
使用Vue构建可重用的分页组件
2018/03/26 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
JavaScript提升机制Hoisting详解
2019/10/23 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
Python 数据结构之堆栈实例代码
2017/01/22 Python
pyenv命令管理多个Python版本
2017/03/26 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
外语系毕业生自荐信范文
2013/12/16 职场文书
酒店端午节活动方案
2014/08/26 职场文书
2015年校长新年寄语
2014/12/08 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
五一晚会主持词
2015/07/01 职场文书
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android