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 批量更新网页内容实现代码
Jan 05 PHP
PHP 引用是个坏习惯
Mar 12 PHP
php 伪造本地文件包含漏洞的代码
Nov 03 PHP
php数组一对一替换实现代码
Aug 31 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
PHP+Ajax实时自动检测是否联网的方法
Jul 01 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
PHP编写简单的App接口
Aug 28 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 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
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
js 无提示关闭浏览器页面的代码
2010/03/09 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
js 上传文件预览的简单实例
2016/08/16 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
Vue.directive 实现元素scroll逻辑复用
2019/11/29 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
Python读写ini文件的方法
2015/05/28 Python
Python使用微信SDK实现的微信支付功能示例
2017/06/30 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
python 如何设置守护进程
2020/10/29 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
空字符串(“”)和null的区别
2012/11/13 面试题
如何手工释放资源
2013/12/15 面试题
年终晚会主持词
2014/03/25 职场文书
单位委托书范本
2014/04/04 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL