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 12 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
解析php中curl_multi的应用
Jul 17 PHP
js和php邮箱地址验证的实现方法
Jan 09 PHP
WordPress中用于获取文章作者与分类信息的方法整理
Dec 17 PHP
php实现面包屑导航例子分享
Dec 19 PHP
PHP实现QQ登录实例代码
Jan 14 PHP
php获取ip及网址的简单方法(必看)
Apr 01 PHP
PHP实现权限管理功能示例
Sep 22 PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 PHP
php实现QQ小程序发送模板消息功能
Sep 18 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写UltraEdit插件脚本实现方法
2011/12/26 PHP
php模拟服务器实现autoindex效果的方法
2015/03/10 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
JavaScript变量声明var,let.const及区别浅析
2018/04/23 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
python获取中文字符串长度的方法
2018/11/14 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
python 三元运算符使用解析
2019/09/16 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
现金出纳岗位职责
2014/03/15 职场文书
高中家长寄语
2014/04/02 职场文书
数学教育专业求职信
2014/07/22 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
2015年林业工作总结
2015/05/14 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android