㈠ 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來得到了!