上傳文件或圖片進行重命名是我們在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 '上傳成功';
這樣我們就把文件名以時間日期生成了一個新的文件名了,代碼如下:
- <form action="upload_file.php" method="post"
- enctype="multipart/form-data">
- <label for="file">Filename:</label>
- <input type="file" name="file" id="file" />
- <br />
- <input type="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 "Return Code: " . $_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 "Temp file: " . $_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"] . " already exists. ";
- }
- else
- {
- $_FILES["uppic"]["name"] =
- move_uploaded_file($_FILES["uppic"]["tmp_name"],
- "pics/" . $_FILES["uppic"]["name"]);
- echo "<script>alert('上傳成功!')</script>";
- echo "<script>window.location.href='http://www.111cn.net';</script>";
- }
- }
- }
- else
- {
- echo "Invalid file";
- }
- ?>
新聞熱點
疑難解答