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 相关文章推荐
第四节--构造函数和析构函数
Nov 16 PHP
收藏的一个php小偷的核心程序
Apr 09 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
深入PHP中慎用双等于(==)的详解
Jun 06 PHP
解析php如何将日志写进syslog
Jun 28 PHP
Laravel框架学习笔记(一)环境搭建
Oct 15 PHP
Php-Redis安装测试笔记
Mar 05 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
详谈PHP编码转换问题
Jul 28 PHP
Zend Framework教程之Bootstrap类用法概述
Mar 14 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 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设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
2016/08/12 PHP
php中请求url的五种方法总结
2017/07/13 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
javascript操作向表格中动态加载数据
2020/08/27 Javascript
Python数组条件过滤filter函数使用示例
2014/07/22 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
Python正则表达式完全指南
2017/05/25 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
简单了解Django ContentType内置组件
2019/07/23 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
《我为你骄傲》教学反思
2014/02/20 职场文书
学生手册评语
2014/05/05 职场文书
应届大学生自荐书
2014/06/17 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
会计岗位说明书
2014/07/29 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
骨干教师事迹材料
2014/12/17 职场文书
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫