10月17日 修改微擎 幻灯片 上传 组件限制

本文介绍如何在微擎后台的微站功能中修改幻灯片上传组件,以允许上传非图片文件,并详细记录了从查找模板文件到修改PHP源码的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接公司任务,要求在微擎后台 微站功能 ->站点管理->幻灯片下对上传组件作修改

 

 ●当上传非img图片文件时会提示错误TYPE提示:

 

由于新手,对网页破解生疏,所以下面用比较笨的方法破解:

 1:先找到网页的模板文件:

H:\phpStudy\PHPTutorial\WWW\sjfx\web\themes\default\site\slide.html

代码片段如下:

<div class="form-group">
					<label class="col-xs-12 col-sm-2 col-md-2 col-lg-1 control-label">缩略图</label>
		<div class="col-sm-10 col-xs-12">						
			{php echo tpl_form_field_image('thumb', $item['thumb'])}
			<span class="help-block"></span>
		</div>
</div>

2:把组件代码去掉,换成自己的组件代码(更换前先做好备份):

更换为:

<div class="form-group">
<label class="col-xs-12 col-sm-2 col-md-2 col-lg-1 control-label">缩略图</label>
				<div class="col-sm-10 col-xs-12">						
				<input name="f" type="file"/>
				<span>上传此文件</span>
				<span class="help-block"></span>
		</div>
</div>

2、找表单的提交属性:

发现表单的 action=" "为空,证明这个模板是是又其他PHP调用的,好了,找调用它的PHP文件吧。

 果不其然。

对应PHP源码:
H:\phpStudy\PHPTutorial\WWW\sjfx\web\source\site\slide.ctrl.php

就是这里了,哈哈哈

在里面添加代码吧,嘤嘤嘤:

 

//新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新增新
if ($_FILES["f"]["error"] > 0){
	echo "Error: " . $_FILES["f"]["error"] . "<br />";
}else{
							
	// echo "Upload: " . $_FILES["f"]["name"] . "<br />";
	// echo "Type: " . $_FILES["f"]["type"] . "<br />";
	// echo "Size: " . ($_FILES["f"]["size"] / 1024) . " Kb<br />";
	// echo "Stored in: " . $_FILES["f"]["tmp_name"]. "<br />";
	$fpath = '../'.'attachment/images/'.$_W['uniacid'].'/'.@date('Y',$_W['timestamp']).'/'.@date('m',$_W['timestamp']);//绝对路径
	
	$data['thumb']='images/'.$_W['uniacid'].'/'.@date('Y',$_W['timestamp']).'/'.@date('m',$_W['timestamp']).'/'.$_FILES['f']['name'];//写入数据库用
			
			
	move_uploaded_file($_FILES["f"]["tmp_name"],$fpath.'/'.$_FILES["f"]["name"]);
}
		//***************************************************************************************

好了,试试效果:

 

 

好像成功了,看看数据库和图片文件夹是否有东西:

 好了。到这里已经完成任务了。由于作者是新手,只能用笨方法,最好的方法肯定是修改原组件的限制代码,例如找:

<?php

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }

?>

修改对应的类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值