规格写完后如何php上传漏洞参数php

冠军CPHP参数( CPHP )
额定容量(KVA)
输出电压范围(V)
220V、230V、240V
额定容量(KVA)
额定容量范围(KVA)
该产品具有多种制式可供选择,且用户无需对机器进行复杂操作,只需拨动动机身侧面的开关即可完成制式选择。具体可实现:三相输入三相输出、单相输入单相输出、三相输入单相输出、单相输入三相输出、输入频率可为50Hz也可设置输出频率60Hz、输出电压可设为220V、230V、240V。若再配置输入、输出变压器则可满足全球范围内所有国家和地区的供电需求。
输入输出参数
输出电压范围(V)
220V、230V、240V
输出电压频率范围(Hz)
冠军CPHP网友点评
基于个网友评分,其中:
微博热议话题
精彩提问标题作者回复天极网友1天极网友1天极网友1天极网友1天极网友1天极网友1天极网友1天极网友1
接下来您可以
市场价:¥100-¥100
产品图片赏析
UPS新品推荐
UPS品牌排行
商家促销信息
免责声明:此页面(本网站)所显示的维修商主体资格、经营资质、报价、售后服务等承诺、以及所发布的商务信息等内容的真实性、准确性和合法性由发布维修商负责,不代表天极网观点,天极网亦对此不作任何承诺与保证,天极网所提供(本站显示)的信息资料仅作为市场资讯供用户参考。页面上带有“企业认证”图标的为企业营业执照认证维修点,带有“官网认证”图标的为官网认证维修点,带有”官方授权”图标的为官方授权维修点,维修商提交了官方授权书。天极网建议您选择同城具有相当资质的维修商当面交易,不要先直接打款给维修商,以降低自身风险。网络用户依其意志自主选择维修主体、维修物品,并自行承担后续风险,本站不承担任何法律责任。
|||||||||Copyright (C)
Yesky.com, All Rights Reserved 版权所有 天极网络使用示例:http://resource.ecsq.com/getpic.php?src=/image/goods/SUZHOU/389_8.jpg&w=500&h=500(一)getpic.php&?php
//获取图片参数
$basedir = dirname(dirname(__FILE__))."/file/";
$src = isset($_GET['src'])?$_GET['src']:NULL;
$w = isset($_GET['w'])?$_GET['w']:200;
$h = isset($_GET['h'])?$_GET['h']:'';
$src= $basedir.$
//原图是否存在
//$src = 'defaultImage/no_photo01.gif';
$src = 'images/nullpic/nullpic1.jpg';
//缓存图片
$tempfile = dirname(__FILE__).'/temp/'.$w.'x'.$h.'_'.str_replace(array('/','\\'), '_', $src);
if(file_exists($tempfile) && filemtime($tempfile)&filemtime($src))
require_once 'gcImage.php';
list($swidth,$sheight) = getimagesize($src);
$image = new gcImage();
if(empty($h))
$h = $w * $sheight/$
$src = $image-&imagickmakethumb($src, $tempfile, $w, $h,90);
if(empty($src))
//$src = 'defaultImage/no_photo01.gif';
$src = 'images/nullpic/nullpic1.jpg';
//下载该图片
$file_extension = strtolower(substr(strrchr($src,'.'),1));
switch($file_extension)
case 'gif': $file_mime='image/gif';
case 'png': $file_mime='image/png';
case 'jpg': $file_mime='image/jpg';
default: $file_mime=mime_content_type($src);
$length = filesize($src);
Header("Content-type: $file_ charset=UTF-8");
Header('Accept-Ranges: bytes');
Header('Accept-Length: '.$length);
//Header('Content-Disposition: filename=' . $file_name);
$file = fopen($src,'r');
echo fread($file,$length);
fclose($file);(2)gcImage.php&?php
* 画像操作
* gcImageMagickService
* @version
* @exlcude
class gcImage {
/*构造函数-生成缩略图+水印,参数说明:
$srcFile-图片文件名,
$dstFile-另存文件名,
$markwords-水印文字,
$markimage-水印图片,
$dstW-图片保存宽度,
$dstH-图片保存高度,
$rate-图片保存品质*/
//makethumb("a.jpg","b.jpg","50","50");
function makethumb($srcFile, $dstFile, $dstW, $dstH, $rate = 100, $markwords = null, $markimage = null)
$data = GetImageSize ( $srcFile );
switch ($data [2]) {
$im = @ImageCreateFromGIF ( $srcFile );
$im = @ImageCreateFromJPEG ( $srcFile );
$im = @ImageCreateFromPNG ( $srcFile );
if (! $im)
$srcW = ImageSX ( $im );
$srcH = ImageSY ( $im );
$dstX = 0;
$dstY = 0;
if ($srcW * $dstH & $srcH * $dstW) {
$fdstH = round ( $srcH * $dstW / $srcW );
$dstY = floor ( ($dstH - $fdstH) / 2 );
$fdstW = $dstW;
$fdstW = round ( $srcW * $dstH / $srcH );
$dstX = floor ( ($dstW - $fdstW) / 2 );
$fdstH = $dstH;
$ni = ImageCreateTrueColor ( $dstW, $dstH );
$dstX = ($dstX & ($dstW / 2)) ? floor ( $dstW / 2 ) : $dstX;
$dstY = ($dstY & ($dstH / 2)) ? floor ( $dstH / 2 ) : $dstY;
$white = ImageColorAllocate ( $ni, 255, 255, 255 );
$black = ImageColorAllocate ( $ni, 0, 0, 0 );
imagefilledrectangle ( $ni, 0, 0, $dstW, $dstH, $white ); // 填充背景色
ImageCopyResized ( $ni, $im, $dstX, $dstY, 0, 0, $fdstW, $fdstH, $srcW, $srcH );
if ($markwords != null) {
$markwords = iconv ( "gb2312", "UTF-8", $markwords );
//转换文字编码
ImageTTFText ( $ni, 20, 30, 450, 560, $black, "simhei.ttf", $markwords ); //写入文字水印
//参数依次为,文字大小|偏转度|横坐标|纵坐标|文字颜色|文字类型|文字内容
} elseif ($markimage != null) {
$wimage_data = GetImageSize ( $markimage );
switch ($wimage_data [2]) {
$wimage = @ImageCreateFromGIF ( $markimage );
$wimage = @ImageCreateFromJPEG ( $markimage );
$wimage = @ImageCreateFromPNG ( $markimage );
imagecopy ( $ni, $wimage, 500, 560, 0, 0, 88, 31 ); //写入图片水印,水印图片大小默认为88*31
imagedestroy ( $wimage );
ImageJpeg ( $ni, $dstFile, $rate );
touch($dstFile);
imagedestroy ( $ni );
imagedestroy ( $im );
return $dstF
/*构造函数-生成缩略图+水印,参数说明:
$srcFile-图片文件名,
$dstFile-另存文件名,
$markwords-水印文字,
$markimage-水印图片,
$dstW-图片保存宽度,
$dstH-图片保存高度,
$rate-图片保存品质*/
//makethumb("a.jpg","b.jpg","50","50");
function imagickmakethumb($srcFile, $dstFile, $dstW, $dstH, $rate = 100, $markwords = null, $markimage = null)
$image=new Imagick($srcFile);
$image-&setImageCompression(Imagick::COMPRESSION_JPEG);
$image-&setImageCompressionQuality($rate);
$image-&setImageFormat('JPEG');
$image-&cropThumbnailImage ($dstW,$dstH);
$image-&stripImage();
if (!empty($markwords))
$draw = new ImagickDraw();
$draw-&setGravity(Imagick::GRAVITY_SOUTHEAST);
$draw-&setFont('simhei.ttf');
$draw-&setFontSize(12);
$draw-&setFillColor('#000');
$image-&annotateImage($draw, 6, 6, 0, $markwords);
elseif(!empty($markimage))
$image-&writeImage($dstFile);
$image-&clear();
$image-&destroy();
return $dstF
} catch (Exception $e) {
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至: 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
七牛云存储base64的数据 如何上传?
来源: 七牛云存储问答
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
POST /put/&Fsize&/key/&EncodedKey&/mimeType/&EncodedMimeType&/crc32/&Crc32&/x:user-var/&EncodedUserVarVal&
Authorization: UpToken &UpToken&
Content-Type: application/octet-stream
&FileContent&
POST /putb64/&Fsize&/key/&EncodedKey&/mimeType/&EncodedMimeType&/crc32/&Crc32&/x:user-var/&EncodedUserVarVal&
Authorization: UpToken &UpToken&
Content-Type: application/octet-stream
&Base64EncodedFileContent&
&Fsize&: 文件大小,必选。未来也许可以支持传入 -1 表示文件大小以 http request body 为准。
&EncodedKey&: 可选,如果没有指定则:如果 uptoken.SaveKey 存在则基于 SaveKey 生产 key,否则用 hash 值作 key。
&EncodedMimeType&: 文件的 MIME 类型。可选,默认是 application/octet-stream。
&Crc32&: 文件内容的 crc32 校验值。可选,不指定则不进行校验。
hash: &ETag&
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
怎么都没有人回答啊
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。随笔 - 456&
文章 - 2&评论 - 43&trackbacks - 0
涉及到四张表,type(商品类型表),type_spec(商品类型规格关联表),attribute(商品属性表),attribute_value(商品属性值表)
新建基控制器BaseController.class.php,向上抽取出来的公用方法
BaseController.class.php
namespace Admin\C
use Think\C
class BaseController extends Controller {
protected $pageSize=1;
* 获取分页对象
[type] $count [description]
* @return [type]
[description]
public function getPager($count){
$pager=new \Common\Libs\MyPage($count,$this-&pageSize);
return $pager;
定义基模型文件BaseModel.class.php,继承系统的Model类
BaseModel.class.php
namespace Common\M
use Think\M
class BaseModel extends Model{
* 获取分页数据
[type] $pager
[description]
$condition [description]
string $order
[description]
* @return [type]
[description]
public function getPagerResult($pager,$condition=array(),$order=""){
if($pager==null){
return $this-&where($condition)
-&limit($pager-&firstRow.','.$pager-&listRows)
-&order($order)
-&select();
* 获取条数
* @return [type] [description]
public function getCount($condition=array()){
return $this-&where($condition)-&count();
* 添加数据
* @return [type] [description]
public function addItem($data){
$msg=array();
if(!$this-&create($data)){
$msg['msg']=$this-&getError();
$msg['status']=false;
$id=$this-&add($data);
$msg['status']=true;
$msg['id']=$id;
$msg['status']=false;
$msg['msg']=$this-&getError();
return $msg;
* 获取单条数据
* @return [type] [description]
public function getItem($condition=array()){
return $this-&where($condition)-&find();
* 获取所有数据
* @return [type] [description]
public function getAllResult($condition=array()){
return $this-&where($condition)-&select();
* 删除数据
* @return [type] [description]
public function delItem($condition=array()){
if(empty($condition)){
return false;
return $this-&where($condition)-&delete();
* 编辑数据
* @return [type] [description]
public function setItem($condition=array(),$data){
if(empty($condition)){
return false;
$msg=array();
if(!$this-&create($data)){
$msg['msg']=$this-&getError();
$msg['status']=false;
$id=$this-&where($condition)-&save($data);
$msg['status']=true;
$msg['id']=$id;
return $msg;
新建类型控制器文件TypeController.class.php
TypeController.class.php
namespace Admin\C
use Think\C
* 类型(规格,属性)
class TypeController extends BaseController {
private $typeModel;
private $specModel;
private $attrModel;
private $typeId;
public function __construct(){
parent::__construct();
$this-&typeModel=D("Type");
$this-&specModel=D("Spec");
$this-&attrModel=D("Attr");
* @return [type] [description]
public function index(){
$nums=$this-&typeModel-&getCount();
$pager=$this-&getPager($nums);
$typeList=$this-&typeModel-&getPagerResult($pager,array(),"type_id desc");
$pageHtml=$pager-&show();
$this-&assign('typeList',$typeList);
$this-&assign('pageHtml',$pageHtml);
$this-&display();
* 添加类型(添加进4张表 type,type_spec,attribute,attribute_value)
* @return [type] [description]
public function addType(){
if(IS_POST){
//添加类型表
$res=$this-&typeModel-&addTypeItem($_POST);
if($res['status']){
$this-&typeId=$res['id'];
//添加属性
if($_POST['attr_value'][0]['name']){
$this-&addAttrData($_POST['attr_value']);
$this-&success("操作成功!");
$this-&error($res['msg']);
$specList=$this-&specModel-&select();
$this-&assign("specList",$specList);
$this-&display();
* 添加属性
* @param [type] $data [description]
private function addAttrData($data){
foreach ($data as $key =& $value) {
$temp=array();
$temp['attr_name']=$value['name'];
$temp['attr_values']=$value['value'];
$temp['type_id']=$this-&typeId;
$this-&attrModel-&addAttrItem($temp);
return true;
* 编辑属性
* @param [type] $data [description]
private function setAttrData($data){
foreach ($data as $key =& $value) {
$temp=array();
$temp['attr_id']=$key;
$temp['attr_name']=$value['name'];
$temp['attr_values']=$value['value'];
$temp['type_id']=$this-&typeId;
$this-&attrModel-&setAttrItem($temp);
//添加属性
if($key=='new'){
$this-&addAttrData($value);
return true;
* 编辑类型(添加进4张表 type,type_spec,attribute,attribute_value)
* @return [type] [description]
public function editType(){
$typeId=intval($_GET['typeId']);
if(IS_POST){
$this-&typeId=intval($_POST['type_id']);
//编辑类型表
$res=$this-&typeModel-&editTypeItem($_POST);
if($res['status']){
//编辑属性
if(!empty($_POST['attr_value'])){
$this-&setAttrData($_POST['attr_value']);
$this-&success("操作成功!",U("Type/editType",array('typeId'=&$this-&typeId)));
$this-&error($res['msg']);
$typeInfo=$this-&typeModel-&getItem(array('type_id'=&$typeId));
$this-&assign("typeInfo",$typeInfo);
$specList=$this-&specModel-&select();
$this-&assign("specList",$specList);
$specTypeList=M("type_spec")-&where(array('type_id'=&$typeId))-&getField("spec_id",true);
$this-&assign("specTypeList",$specTypeList);
$attrList=$this-&attrModel-&getAllResult(array('type_id'=&$typeId));
$this-&assign("attrList",$attrList);
$this-&display();
新建类型模型文件TypeModel.class.php
TypeModel.class.php
namespace Common\M
use Think\M
class TypeModel extends BaseModel{
* 验证规则
* @var array
protected $_validate = array(
array('type_name','require','类型名称必须!')
* 添加类型
public function addTypeItem($data){
$res=$this-&addItem($data);
//添加类型规格
$typeSpecs=$data['spec_id'];
$typeSpecArray=array();
foreach ($typeSpecs as $typeSpec) {
$temp=array();
$temp['type_id']=$res['id'];
$temp['spec_id']=$typeSpec;
$typeSpecArray[]=$temp;
M("type_spec")-&addAll($typeSpecArray);
return $res;
* 编辑类型
public function editTypeItem($data){
$res=$this-&setItem(array('type_id'=&$data['type_id']),$data);
//编辑类型规格
M("type_spec")-&where(array('type_id'=&$data['type_id']))-&delete();
$typeSpecs=$data['spec_id'];
$typeSpecArray=array();
foreach ($typeSpecs as $typeSpec) {
$temp=array();
$temp['type_id']=$data['type_id'];
$temp['spec_id']=$typeSpec;
$typeSpecArray[]=$temp;
M("type_spec")-&addAll($typeSpecArray);
return $res;
新建规格模型文件SpecModel.class.php
SpecModel.class.php
namespace Common\M
use Think\M
class SpecModel extends BaseModel{
* 验证规则
* @var array
protected $_validate = array(
array('spec_name','require','规格名称必须!'),
array('spec_sort','number','排序必须是数字!')
新建属性模型文件AttrModel.class.php
AttrModel.class.php
namespace Common\M
use Think\M
class AttrModel extends BaseModel{
protected $tableName="attribute";
* 验证规则
* @var array
protected $_validate = array(
array('attr_name','require','属性名称必须!'),
array('type_id','require','类型id必须!'),
array('attr_values','require','属性值必须!')
* 添加属性
public function addAttrItem($data){
$res=$this-&addItem($data);
//添加属性值
$attrValues=explode("|", $data['attr_values']);
$attrValueArray=array();
foreach ($attrValues as $attrValue) {
$temp=array();
$temp['attr_id']=$res['id'];
$temp['attr_value']=$attrValue;
$attrValueArray[]=$temp;
M("attribute_value")-&addAll($attrValueArray);
* 编辑属性
public function setAttrItem($data){
$res=$this-&setItem(array('attr_id'=&$data['attr_id']),$data);
//编辑属性值
M("attribute_value")-&where(array('attr_id'=&$data['attr_id']))-&delete();
$attrValues=explode("|", $data['attr_values']);
$attrValueArray=array();
foreach ($attrValues as $attrValue) {
if(!$attrValue){
$temp=array();
$temp['attr_id']=$data['attr_id'];
$temp['attr_value']=$attrValue;
$attrValueArray[]=$temp;
M("attribute_value")-&addAll($attrValueArray);
阅读(...) 评论()扫一扫体验手机阅读
php Imagick()扩展,实现将原图截取成不同规格尺寸的图片
<span type="1" blog_id="1418688" userid='
95篇文章,8W+人气,0粉丝
企业级网安运维
¥51.0073人订阅
鸟瞰Web应用开发
¥51.0031人订阅}

我要回帖

更多关于 php多文件上传 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信