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 相关文章推荐
FCKeditor的安装(PHP)
Jan 13 PHP
php 方便水印和缩略图的图形类
May 21 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
php将session放入memcached的设置方法
Feb 14 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
分享一段php获取linux服务器状态的代码
May 27 PHP
php版本的cron定时任务执行器使用实例
Aug 19 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
May 30 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配置文件中最常用四个ini函数
2007/03/19 PHP
常用的php ADODB使用方法集锦
2008/03/25 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
用jquery写的一个万年历(自写)
2014/01/20 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Python常用的日期时间处理方法示例
2015/02/08 Python
python获取android设备的GPS信息脚本分享
2015/03/06 Python
win10系统中安装scrapy-1.1
2016/07/03 Python
python实现弹窗祝福效果
2019/04/07 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
Python 读取位于包中的数据文件
2020/08/07 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
影视动画专业个人的自我评价
2013/12/31 职场文书
材料员岗位职责
2014/03/13 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
捐书仪式主持词
2015/07/04 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技