1. 程式人生 > >上傳圖片到伺服器,並且重新命名圖片(小白共勉)

上傳圖片到伺服器,並且重新命名圖片(小白共勉)

根據教程上更改的,含冗餘,會再改,小白共勉

檔案所含內容如下(不知道為啥編輯器不能給字型改變顏色了,鬱悶):

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 "非法的檔案格式";
		}
?>