如何在保存到目錄前重命名上傳的文件?下面是我用來將文件上傳到目錄中的代碼。效果很好。我的主要問題是:移動上載文件()是將上傳的文件保存到目錄中的文件,我也認為移動上載文件()是為它設置名字的那個。如何將文件名更改為隨機數?我試圖在以下方面這樣做:$allowedExts = array("gif", "jpeg", "jpg", "png");$temp = explode(".", $_FILES["file"]["name"]);$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"] < 100000) && in_array($extension, $allowedExts)) {
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
$fileName = $temp[0] . "." . $temp[1];
$temp[0] = rand(0, 3000); //Set to random number
$fileName;
if (file_exists("../img/imageDirectory/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " already exists. ";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]);
echo "Stored in: " . "../img/imageDirectory/" . $_FILES["file"]["name"];
}
}} else {
echo "Invalid file";}我嘗試更改變量,例如$_files[“file”][“name”]并將其替換為$文件名;變量,以便可以存儲新名稱。
3 回答

有只小跳蛙
TA貢獻1824條經驗 獲得超8個贊
move_uploaded_file
.
move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]);
$temp = explode(".", $_FILES["file"]["name"]);$newfilename = round(microtime(true)) . '.' . end($temp);move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);

拉風的咖菲貓
TA貢獻1995條經驗 獲得超2個贊
$newfilename= date('dmYHis').str_replace(" ", "", basename($_FILES["file"]["name"]));move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);

慕斯王
TA貢獻1864條經驗 獲得超2個贊
添加回答
舉報
0/150
提交
取消