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
如何分别全角和半角以避免乱码
Oct 09 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
基于PHP静态类的原罪详解
May 06 PHP
php中将数组转成字符串并保存到数据库中的函数代码
Sep 29 PHP
详解PHP中strlen和mb_strlen函数的区别
Mar 07 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
Jan 09 PHP
php遍历解析xml字符串的方法
May 05 PHP
thinkPHP中钩子的两种配置调用方法详解
Nov 11 PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 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实现的功能是显示8条基色色带
2006/10/09 PHP
php桌面中心(四) 数据显示
2007/03/11 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
基于PHP异步执行的常用方式详解
2013/06/03 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
详解Element-UI中上传的文件前端处理
2019/08/07 Javascript
nodejs实现百度舆情接口应用示例
2020/02/07 NodeJs
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
Python标准库内置函数complex介绍
2014/11/25 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
python求绝对值的三种方法小结
2019/12/04 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
关于Python Tkinter Button控件command传参问题的解决方式
2020/03/04 Python
python中二分查找法的实现方法
2020/12/06 Python
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
小学亲子活动总结
2014/07/01 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
一年级语文教学随笔
2015/08/14 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
golang import自定义包方式
2021/04/29 Golang
python中的None与NULL用法说明
2021/05/25 Python
浅谈克隆 JavaScript
2021/11/02 Javascript