-
php+curl 发送图片处理代码分享
这篇文章主要介绍了php+curl 发送图片处理代码分享的方法的相关资料,需要的朋友可以参考下,上传页面代码:
- $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();
- }
以上所述就是本文的全部内容了,希望大家能够喜欢。
原文链接:http://www.phpfensi.com/php/20210609/16196.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式