У меня есть форма загрузки нескольких файлов в PHP. Моя проблема заключается в том, что при загрузке двух изображений с одинаковым именем второе изображение заменяется предыдущим. Что я могу сделать? Это мой код:
HTML
<form action="" enctype="multipart/form-data" method="post">
<div>
<label for='upload'>Add Attachments:</label>
<input id='upload' name="upload[]" onChange="read_url(this)" type="file" multiple="multiple" id="imgInp" />
</div>
<p><input type="submit" name="submit" value="Submit"></p>
</form>
PHP-код
if(isset($_POST['submit'])){
if(count($_FILES['upload']['name']) > 0){
//Loop through each file
for($i=0; $i<count($_FILES['upload']['name']); $i++) {
//Get the temp file path
$tmpFilePath = $_FILES['upload']['tmp_name'][$i];
//Make sure we have a filepath
if($tmpFilePath != ""){
//save the filename
$shortname = $_FILES['upload']['name'][$i];
//save the url and the file
$filePath = "store/".$_FILES['upload']['name'][$i];
//Upload the file into the temp dir
if(move_uploaded_file($tmpFilePath, $filePath)) {
$files[] = $shortname;
$name = 'Admin';
$qry="INSERT INTO test(Name,Image) VALUES('$name','$filePath')";
mysqli_query($link,$qry) or die(mysqli_error($link));//use $shortname for the filename
//use $filePath for the relative url to the file
}
}
echo '<p style="color:#000;">SUCCESS!!</p>';
}
}
Предложи мне….
Вы можете переименовать имя файла каждого файла. Самый простой способ сделать это, например, согласиться с этим
$filename = $_FILES['myfilename']['name'];
$filename = time().$filename;
Других решений пока нет …