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遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
thinkphp3.2.2实现生成多张缩略图的方法
Dec 19 PHP
护卫神php套件 php版本升级方法(php5.5.24)
May 10 PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 PHP
php防止用户重复提交表单
Nov 02 PHP
PHP按指定键值对二维数组进行排序的方法
Dec 22 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
PHP使用strrev翻转中文乱码问题的解决方法
Jan 13 PHP
为何说PHP引用是个坑,要慎用
Apr 02 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 XML error parsing SOAP payload on line 1
2010/06/17 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
php树型类实例
2014/12/05 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
js和as的稳定传值问题解决
2013/07/14 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
Angular实现购物车计算示例代码
2017/02/21 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
python单例模式实例分析
2015/04/08 Python
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
波兰运动鞋网上商店:Distance.pl
2020/07/30 全球购物
大学生专科毕业生自我评价
2013/11/17 职场文书
学生安全责任书范本
2014/07/24 职场文书
开业庆典致辞
2015/08/01 职场文书
初三数学教学反思
2016/02/17 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python