上傳圖片到伺服器,並且重新命名圖片(小白共勉)
阿新 • • 發佈:2018-12-09
根據教程上更改的,含冗餘,會再改,小白共勉
檔案所含內容如下(不知道為啥編輯器不能給字型改變顏色了,鬱悶):
upload資料夾為存放圖片資料夾,注意upload、imgnewname.php、index.html、upload_file.php為同一級、
為了可以多次呼叫更改名稱的方法,所以多寫了imgnewname.php,其實這個php裡的程式碼是我從upload_file.php裡取出來的一部分
upload_file.php裡面原本是要用時間來命名的,冗餘挺多
imgnewname.php
<?php include "upload_file.php"; $m = "1"; $y = "z"; $x = $m."".$y; echo $x; rename($oldimgname, "upload/hxa.png"); ?>
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <!--<form action="upload_file.php" method="post" enctype="multipart/form-data">--> <form action="imgnewname.php" method="post" enctype="multipart/form-data"> <label for="file">檔名:</label> <input type="file" name="file"><br> <input type="submit" name="submit" value="提交"> </form> <img src="upload/20181128.png" /> </body> </html>
upload_file.php
<?php // 允許上傳的圖片字尾 $allowedExts = array("gif", "jpeg", "jpg", "png"); $temp = explode(".", $_FILES["file"]["name"]); echo count($temp)."<br>"; echo $_FILES["file"]["size"]."<br>"; $extension = end($temp); // 獲取檔案字尾名 if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png")) && ($_FILES["file"]["size"] < 204800) // 小於 200 kb && in_array($extension, $allowedExts)){ if ($_FILES["file"]["error"] > 0){ echo "錯誤:: " . $_FILES["file"]["error"] . "<br>"; }else{ echo "上傳檔名: " . $_FILES["file"]["name"] . "<br>"; echo "檔案型別: " . $_FILES["file"]["type"] . "<br>"; echo "檔案大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>"; echo "檔案臨時儲存的位置: " . $_FILES["file"]["tmp_name"] . "<br>"; // 判斷當期目錄下的 upload 目錄是否存在該檔案 // 如果沒有 upload 目錄,你需要建立它,upload 目錄許可權為 777 if (file_exists("upload/" . $_FILES["file"]["name"])){ echo $_FILES["file"]["name"] . " 檔案已經存在。 "; }else{ // 獲取圖片真實名稱 $imgname = $_FILES["file"]["name"]; echo $imgname . "<br>"; // 按照.分開圖片名 $imgnaarr = explode(".", $_FILES["file"]["name"]); echo count($imgnaarr)."<br>"; // 獲取以.分開圖片名陣列的數量 $coimg = count($imgnaarr)-1; // 獲取圖片字尾 $imgla = $imgnaarr[$coimg]; echo $imgla ."<br>"; // 獲取時間 $date = date("Ymd"); echo $date."<br>"; // 圖片新名字 $imgnew = $date . "." . $imgla; echo $imgnew ."<br>"; // 如果 upload 目錄不存在該檔案則將檔案上傳到 upload 目錄下 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "檔案儲存在: " . "upload/" . $_FILES["file"]["name"]; $oldimgname="upload/" . $imgname; $y="upload/" . $imgnew; // rename($oldimgname, $y); } } }else{ echo "非法的檔案格式"; } ?>