Php 在上载过程中唯一重命名文件
我想上传图像,并在用户全名后重命名它们。这很有效,但我希望通过添加一个数字来唯一地命名它们,例如Php 在上载过程中唯一重命名文件,php,file,file-rename,Php,File,File Rename,我想上传图像,并在用户全名后重命名它们。这很有效,但我希望通过添加一个数字来唯一地命名它们,例如Fname\u Lname\u 1.jpg,Fname\u Lname\u 2.jpg,等等。我的问题是,没有出现数字增量。而是第一个文件被新上载的文件替换,因为新上载的文件采用第一个文件的名称 <?php require 'Connections/Conn.php'; require 'core/init.php'; if(isset($_SESSION["UserID"])){ }els
Fname\u Lname\u 1.jpg
,Fname\u Lname\u 2.jpg
,等等。我的问题是,没有出现数字增量。而是第一个文件被新上载的文件替换,因为新上载的文件采用第一个文件的名称
<?php
require 'Connections/Conn.php';
require 'core/init.php';
if(isset($_SESSION["UserID"])){
}else{
header('Location: Login.php');
}
//Parse UserId into variable $userid
$userid = $_SESSION["UserID"];
//Parse User Fname, '_' & Lname into variable userfullname
$userfullname = $_SESSION["LName"].'_'.$_SESSION["FName"];
//Add UserID and userfullname and parse it into foldername
$foldername = $userid.'_'.$userfullname;
//Now save the path into this variable
$enclosedFolder="./Users/" . $foldername . "/Main/";
// Count sent by plugin
$Images =count(isset($_FILES['images']['name'])?$_FILES['images']['name']:0);
$infoImagesUploaded = array();
for($i = 0; $i < $Images; $i++) {
// The name and the temporary file name we're gonna attach
$fileName=isset($_FILES['images']['name'][$i])?$_FILES['images']['name'][$i]:null;
$fileTemp=isset($_FILES['images']['tmp_name'][$i])?$_FILES['images']['tmp_name'][$i]:null;
$numb = 0;
$newfilename = $userfullname.'_'.($numb++).".jpg";
$pathFile=$enclosedFolder.$newfilename;
move_uploaded_file($fileTemp,$pathFile);
$infoImagesUploaded[$i]=array("caption"=>"$fileName","height"=>"120px","url"=>"MainDelete.php","key"=>$fileName);
$ImagesUploaded[$i]="<img height='120px' src='$pathFile' class='file-preview-image'>";
}
$arr = array("file_id"=>0,"overwriteInitial"=>true,"initialPreviewConfig"=>$infoImagesUploaded, "initialPreview"=>$ImagesUploaded);
echo json_encode($arr);
?>
执行此操作的一般方法是创建一个唯一的id(大多数情况下是通过该id),并在其上附加一个时间戳。示例:uniqid()$userfullname.'.\u'。时间()。“.jpg”代码>。强制使用.jpg
扩展名也不是最好的方法,可能需要根据上传的图像创建扩展名。通常的做法是创建一个唯一的id(大多数情况下都是这样),并在其上附加一个时间戳。示例:uniqid()$userfullname.'.\u'。时间()。“.jpg”代码>。强制使用.jpg
扩展也不是最好的方法,可能需要根据上传的图像创建扩展。