首页 > 后端开发 > 正文

如何用PHP给上传的文件改名?

2024-12-17 22:17:33 | 我爱编程网

如何用PHP给上传的文件改名?很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!

本文目录一览:

如何用PHP给上传的文件改名?

如何用PHP给上传的文件改名?

上传文件,PHP是在你的服务器上建立临时文件,日期肯定是当时的,名字是随机名字,你应该把这个文件COPY到你自己的文件夹下(应该专门用一个文件夹来存放大家上传的文件)。下面是我上传文件的例子(部分代码):

保存部分PHP代码:
for ($i=1; $i<=$filecnt; $i++){
$f_image="file".$i;
$tmp_name=$HTTP_POST_FILES["$f_image"][tmp_name];
$src_name=$HTTP_POST_FILES["$f_image"][name];
$src_size=$HTTP_POST_FILES["$f_image"][size];
$note_str=$_REQUEST["note$i"];
if (!$tmp_name || !$src_name || $tmp_name=='nono') continue;
$ext=substr(strrchr($src_name,'.'),1);
$ext=strtolower($ext);
if (substr($ext,0,3)=='php' || $ext=='pl' || $ext=='cgi'){
echo "$src_name 没有保存,因为你传的是脚本文件,如果你不想在主机上搞破坏,请你压缩后上传。<br>";
continue;
}
//处理图片文件
$imginfo=getimagesize($tmp_name);
if ($imginfo && $imginfo[0]>0){
//压缩宽度超过800的图片为800,10K以上的JPG图片用30%进行压缩
if ($imginfo[0]>800){
echo "你上传的图片幅面为 $imginfo[0] x $imginfo[1] ,将被压缩到800个象素宽。<br>";
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -sample 800 -quality 80 $tmp_name $tmp_name");
} elseif($imginfo[2]==2 && $src_size>10240) system("/usr/local/bin/convert -quality 30 $tmp_name $tmp_name");
//规范化图片文件扩展名
if ($imginfo[2]==1) $ext='gif';
elseif ($imginfo[2]==2) $ext='jpg';
elseif ($imginfo[2]==3) $ext='png';
elseif ($imginfo[2]==4) $ext='swf';
elseif ($imginfo[2]==5) $ext='psd';
elseif ($imginfo[2]==6) $ext='bmp';
elseif ($imginfo[2]==7) $ext='tiff';
elseif ($imginfo[2]==8) $ext='tiff';
//压缩BMP、TIFF文件为JPG格式
if ($imginfo[2]==6 || $imginfo[2]==7 || $imginfo[2]==8){
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 80 $tmp_name $tmp_name.jpg");
rename("$tmp_name.jpg",$tmp_name);
$ext='jpg';
}
}
$save_name="$year_week/$save_id-$i";
if ($ext!='') $save_name.='.'.$ext;
$result="文件 $src_name 保存为 $save_name ";
if(copy($tmp_name,$save_name)){
$str="insert into clubfile(user,ext,note,fip,pub,fname,fsize) values('$PHP_AUTH_USER','$ext','$note_str','$ip',$pub,'$save_name',$src_size)";
mysql_query($str);
$result .= '成功。';
}
else{
$result .= '失败!';
}
echo $result.'<br>';

上传页面PHP代码:
echo <<<END
<div class=pagetitle>上传文件</div>
<center>特别说明:上传后<b>先</b>在其它网站链接的文件将被自动删除!</center>
<script language="Javascript">
var filecnt=1;
function addfile()
{
filecnt++;
document.all.item('fileinput').innerHTML = document.all.item('fileinput').innerHTML + "<br>上传文件"+filecnt+": <input type=file name=file"+filecnt+" size=30 onBlur=setNote("+filecnt+")> 说明:<input type=text name=note"+filecnt+" size=32>";
form1.filecnt.value=filecnt;
}
function del_note_path(){
for(i=1;i<=filecnt;i++){
v=eval('document.form1.note'+i);
v.value=v.value.replace(/.*\\\\/,'');
}
}
</script>
<form name=form1 method=post enctype="multipart/form-data" action=$_SERVER[PHP_SELF]>
<input type=hidden name=job value='upload_save'>
<input type=hidden name=filecnt value=1>
<INPUT TYPE=hidden name=MAX_FILE_SIZE value=10240000>
<span id=fileinput>上传文件1: <input type=file name=file1 size=30 onBlur=setNote(1)> 说明:<input type=text name=note1 size=32></span><br>
<input type=button onclick="javascript:addfile();" value='增加上传文件'>(可以一次上传多个文件)
<input type=button onclick='javascript:del_note_path();' value='删除说明中的目录'><br>
公开: <input type=checkbox name=pub> (选中公开以后,别人可以看见你上传的文件) <br>
<input type=submit value="确认文件清单,立即上传">(建议你一定写上详细的文件说明,因为上传后文件将统一命名)
</form>
<a href=$PHP_SELF>返回浏览画面</a>
<script language=javascript>
function setNote(i){
var s='';
eval("s=form1.file"+i+".value");
s=s.toLowerCase();
s=s.substr(s.length-4);
if (s=='.bmp') alert('严禁上传BMP文件:请你用画图打开,另存为JPG格式再上传');
s="if (form1.file"+i+".value!='' && form1.note"+i+".value=='') form1.note"+i+".value=form1.file"+i+".value";
eval(s);
}
</script>
</body>
</html>
END;

如何用PHP给上传的文件改名?

php 如何跨服务器重命名文件

代码如下:

<?php
$handle = fopen (" "中谨, "rb");
$contents = "";
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
echo $contents; //输掘袜出获取到得内容。卖散基
?>

php如何修改文件夹的名称

我爱编程网(https://www.52biancheng.com)小编还为大家带来php如何修改文件夹的名称的相关内容。

可以使用php,rename() 函数重命名文件或目录。 我爱编程网

若成功,则该函数返回 true。若失败,则返回 false。

命令格式为:

bool rename ( string oldname, string newname [, resource context] )

下面演示rename的具体应用,文件位置如图:

实现目的:

1.把cache.txt 更名为rename.txt;

2.将cache2.txt更名为cache3.txt

3.将html目录 更名为 cache

4.将file目录转移到html目录下(可以实现更名)

代码如下:

 <?php
    $file = "html/cache.txt";
    $rename = "html/rename.txt";
  if(rename($file,$rename)){
  echo "更名成功";
  }else{
    echo "更名失败";
  }
  rename("html/cache2","html/cache3.txt");
  rename("html","cache");
  rename("file","html/files");
 ?>

以上就是我爱编程网为大家带来的如何用PHP给上传的文件改名?,希望能帮助到大家!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“如何用PHP给上传的文件改名?”相关推荐