Я хочу изменить свой код ниже, чтобы принять произвольно сгенерированный уникальный идентификатор, чтобы заменить имя, используя функцию php uniqid. Я пробовал пару способов без успеха.
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); $ipath = "upload/"; $ipath .= $_FILES["file"]["name"];
Кто-нибудь знает, как я могу это сделать?
Изменить: я спрашиваю, где положить функцию uniqid, чтобы файл хранился с uniqid.extension в папке на моем сервере.
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . uniqid());
или, если вы хотите сохранить расширение файла:
$fileInfo = pathinfo($_FILES["file"]["name"]); move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . uniqid() . '.' . $fileInfo['extension']);
\\ edit: использовать переменную $ ipath …
$fileInfo = pathinfo($_FILES["file"]["name"]); $ipath = "upload/" . uniqid() . '.' . $fileInfo['extension']; move_uploaded_file($_FILES["file"]["tmp_name"], $ipath);
$newName = md5_file($ipath);
Будет генерировать md5 содержимого файла, должно быть довольно уникальным.
$aaa = uniqid(); $Image_New_Name = $aaa."_".basename($_FILES["fileToUpload"]["name"] ); $target_dir = "upload/".$Image_New_Name; if(isset($_POST['submit'])) { //$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"] ); if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir )) { echo "The file ". basename( $_FILES["fileToUpload"]["name"]) ." has been uploaded."; echo "<br/>"; } $id = $_POST['id']; $fullname = $_POST['fullname']; $password = $_POST['password']; $email = $_POST['email']; $gender = $_POST['gender']; $about_me = $_POST['about_me']; $state = $_POST['state']; $country = $_POST['country']; if($_FILES["fileToUpload"]["name"] != "") { $image = $_FILES["fileToUpload"]["name"]; } else { $image='BlankFaceGraphic.jpg'; } $sql="insert into register(id,fullname,password,email,gender,about_me,state,country,image) values ('$id','$fullname','$password','$email','$gender','$about_me','$state','$country','$Image_New_Name')";