㈠ php上传插件修改文件名后怎么得到新文件名
PHP
中的
move_uploaded_file()
函数可以实现,改相应的参数即可
move_uploaded_file(file,newloc)
参数说明
file
必需。规定要移动的文件。
newloc
必需。规定文件的新位置。
注释:本函数仅用于通过
HTTP
POST
上传的文件。
注意:如果目标文件已经存在,将会被覆盖。
例如:
<?php
//上传路径
$uploads_dir
=
'/uploads';
foreach
($_FILES["pictures"]["error"]
as
$key
=>
$error)
{
if
($error
==
UPLOAD_ERR_OK)
{
$tmp_name
=
$_FILES["pictures"]["tmp_name"][$key];
//下面的$name就是上传后的文件名字,可以改变,比如之前文件名字为:1.gif
可以改为
2.gif
$name
=
$_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name,
"$uploads_dir/$name");
}
}
?>
㈡ 上传文件时,PHP如何获取上传文件的具体信息
在PHP中选择或者上传文件时,用$_POST['filename']只能取得上传文件的文件名,但是不包含该文件所处的路径名,如果要取得文件的全路径名,就要用下列参数:
php:
•$_FILES["file"]["name"] - 被上传文件的名称
•$_FILES["file"]["type"] - 被上传文件的类型
•$_FILES["file"]["size"] - 被上传文件的大小,以字节计
•$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
•$_FILES["file"]["error"] - 由文件上传导致的错误代码
㈢ php 上传文件重命名
上传文件或图片进行重命名是我们在php上传中会碰到的一个问题了,在重命名无非就是对你上传的文件生成一个随机的字符串了,包括有Md5,随机,或按时间日期来重命名了,下面我来给大家介绍。
如我们在上传文件页面中如下操作:
$name=$_FILES['userfile']['name'];//将所上传的文件名称赋予name
然后我们要对它进行重命名
//文件名的自动生成
list($usec,$new_name)=explode("",microtime());
if(@$extension_name){//限制文件类型为jpg、gif、png、bmp
move_uploaded_file($tmp_name,$new_dir.'/'.$new_name.'.'.$extension_name);//移动到目标文件夹
echo'上传成功';
这样我们就把文件名以时间日期生成了一个新的文件名了,例:
<formaction="upload_file.php"method="post"
enctype="multipart/form-data">
<labelfor="file">Filename:</label>
<inputtype="file"name="file"id="file"/>
<br/>
<inputtype="submit"name="submit"value="Submit"/>
</form>
以下是我添加的将文件名重命名为系统时间的代码:
<?php$date=date(ymdhis);
//echo($date);
if((($_FILES["uppic"]["type"]=="image/gif")
||($_FILES["uppic"]["type"]=="image/jpeg")
||($_FILES["uppic"]["type"]=="image/pjpeg"))
&&($_FILES["uppic"]["size"]<2000000))
{
if($_FILES["uppic"]["error"]>0)
{
echo"ReturnCode:".$_FILES["uppic"]["error"]."<br/>";
}
else
{
//echo"Upload:".$_FILES["uppic"]["name"]."<br/>";
//echo"Type:".$_FILES["uppic"]["type"]."<br/>";
//echo"Size:".($_FILES["uppic"]["size"]/1024)."Kb<br/>";
//echo"Tempfile:".$_FILES["uppic"]["tmp_name"]."<br/>";
$uptype=explode(".",$_FILES["uppic"]["name"]);
$newname=$date.".".$uptype[1];
//echo($newname);
$_FILES["uppic"]["name"]=$newname;
if(file_exists("pics/".$_FILES["uppic"]["name"]))
{
echo$_FILES["uppic"]["name"]."alreadyexists.";
}
else
{
$_FILES["uppic"]["name"]=
move_uploaded_file($_FILES["uppic"]["tmp_name"],
"pics/".$_FILES["uppic"]["name"]);
echo"<script>alert('上传成功!')</script>";
echo"<script>window.location.href='
}
}
}
else
{
echo"Invalidfile";
}
?>
大家可以参考一下
㈣ PHP上传多文件获取文件名称
你用file类型的input上传这个图片后,就将图片上传到你服务器的临时目录了,并且将文件相关的信息存在了_FILE这个参数里,
<?php
if($dosubmit){
$f = $_FILES['file'];//获得文件的相关信息,file是input的name
if( $f['size']>1024*600 ){
exit('图片大小超过系统限制(600KB)');
}
}
?>
你用表单的get提交普通的参数你可以通过$_GET获得,同样的post提交的通过$_POST得到。当然里面的文件的信息你就要通过$_FILES来得到了!