當前位置:首頁 » 文件管理 » php重命名上傳文件

php重命名上傳文件

發布時間: 2023-09-18 22:20:38

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給上傳的文件改名

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");
}
}
?>

㈢ thinkphp里上傳的圖片如何進行重命名,命名為自己想要的格式,它默認格式是時間戳的

TP文檔上說明有這個參數,saveRule保存規則:

不為空的時候可以選擇手冊上說的幾種命名規則,不同的場景使用不同的方式,只要加個判斷就可以了。如果同名需要覆蓋原文件的話添加屬性:$upload->uploadReplace = true;

㈣ php 如何對上傳文件的文件名進行重命名

<html>
<body>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="test.php">
上傳圖片
<input name="tupian" type="file" id="tupian" />
<input type="submit" name="button" id="button" value="上傳" />
</form>
<?php
if (isset($_FILES['tupian'])) {
// echo '<pre>';
// print_r($_FILES["tupian"]);
// echo '</pre>';

if ($_FILES["tupian"]['error'] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["tupian"]["tmp_name"];
$name = $_FILES["tupian"]["name"];
move_uploaded_file($tmp_name, "$name");//在這里進行文件改名
}
echo '<img src="' . $name . '" />';

}
?>
</body>
</html>

㈤ PHP上傳重命名文件,怎麼能以時間重命名,

分享一個源碼給大家:

復制代碼 代碼如下:
<?php
$file = dirname(__FILE__).'/新建 文本文檔.txt';
echo L_rename($file);
function L_rename($file){
$iCount = 0;
$File_type = strrchr($file, '.');
$FilePath = substr($file, 0, strrpos($file, '.'));
while (true) {
if (is_file($file)) {
++$iCount;
$file = $FilePath . '('. $iCount .')' . $File_type;
}else{
break;
}
}
if (fopen($file, 'w')) {$Msg = '創建成功 '.$file;}
return $Msg;
}
?>

㈥ php 多文件上傳重命名問題

print_r($_FILES)
你可以知道結構

重命名問題很好解決,
比如 你上傳2個 1.gif 先是讀取擴展名 $_FILES 裡面就有

名字全部要重命名 time().mt_rand(100,999).擴展名
就是時間戳+100~999 之前的隨機數 進行重命名
把真名的信息保存到資料庫裡面, 明白了吧 呵呵

㈦ PHP上傳文件,怎麼自動重命名附源碼。

只用日期會有重名的可能
$_FILES["Filedata"]["name"] = date("Y-m-d") . rand() . $type;

就是在合適的時候改變$_FILES["Filedata"]["name"]的值,如下

echo "上傳的文件: " . $_FILES["Filedata"]["name"] . "<br />";
echo "文件類型: " . $type . "<br />";
echo "文件大小: " . ($_FILES["Filedata"]["size"] / 1024) . " Kb<br />";
echo "臨時文件: " . $_FILES["Filedata"]["tmp_name"] . "<br />";

$_FILES["Filedata"]["name"] = md5(microtime(1) . rand()) . $type;

熱點內容
流控源碼 發布:2025-01-24 15:09:51 瀏覽:476
火山伺服器升級什麼時候完成 發布:2025-01-24 15:08:38 瀏覽:246
android版本設置 發布:2025-01-24 15:08:26 瀏覽:723
python列印機列印圖片 發布:2025-01-24 14:59:49 瀏覽:227
javascript設計模式源碼 發布:2025-01-24 14:49:07 瀏覽:908
linqtosql查詢 發布:2025-01-24 14:48:57 瀏覽:120
華為手機更換開機密碼如何操作 發布:2025-01-24 14:43:15 瀏覽:699
快手等待上傳 發布:2025-01-24 14:41:37 瀏覽:380
apache和php7 發布:2025-01-24 14:32:26 瀏覽:892
linuxio文件 發布:2025-01-24 13:40:21 瀏覽:438