圝太空人圝 發表於 2023-7-15 00:00:00

帝国CMS上传附件命名实现以原文件名命名的方法

<p>
帝国CMS在通过编辑器的上传附件功能来上次附件时,原程序会给附件重新命名,命名结果都是一大串的数字+字母组合来命名的,这种形式的命名方式,对用户来说看着很不舒服,也不利于我们通过FTP对附件进行调整或替换。因此,有些时候我们就需要把上传的附件改成以原文件名来命名的规则,具体方法如下:</p>
<p>
一、<strong>打开文件\e\class\connect.php</strong></p>
<p>
查找到:</p>
<p>
 </p>
<div>

代码如下:</div>
<div id="phpcode5">
$r=GetFiletype($file_name);</div>
<p>
 </p>
<p>
在下面加入:</p>
<p>
 </p>
<div>

代码如下:</div>
<div id="phpcode6">
$filename2=str_replace($r, '', $file_name);//获得去掉后缀的文件名<br>
$mytype = array (".txt", ".rar", ".zip", ".doc", ".docx", ".xlsx", ".ppt", ".pdf");//定义需要保留原名的文件类型</div>
<p>
 </p>
<p>
二、查找</p>
<p>
 </p>
<div>

代码如下:</div>
<div id="phpcode7">
$r=$r.$r;</div>
<p>
 </p>
<p>
修改为:</p>
<p>
 </p>
<div>

代码如下:</div>
<div id="phpcode8">
if(in_array($r,$mytype)){<br>
$r=$filename2."_".$r.$r;//将真实文件名加在随机码的前面中间以_分隔<br>
}<br>
else<br>
{<br>
$r=$r.$r;<br>
}</div>
<p>
 </p>
<p>
至此修改完成!</p>
<p>
补充说明:<br>
 </p>
<div>

代码如下:</div>
<div id="phpcode9">
$mytype = array (".txt", ".rar", ".zip", ".doc", ".docx", ".xlsx", ".ppt", ".pdf");</div>
<span>  这一句就是定义哪些文件类型需要加上源文件名的。</span>
<p>
 </p>
<p>
.$r  这个代表的是随机码<br>
.$r   这个代表的是文件类型<br>
$filename2 这个代表的是原文件名</p>
頁: [1]
查看完整版本: 帝国CMS上传附件命名实现以原文件名命名的方法