2015-01-31 4 views
0

У меня небольшая проблема в дублированных именах. Я хочу, чтобы автоматически переименовывать любые дублированные файлы для загрузки, например, их нумерацию.как переименовать загруженные файлы, если есть дублированные имена

или, если я мог бы сделать то же самое имя с числами, такими как file1.jpg/file2.jpg для всех загруженных файлов

вот мой код

<?php 
 

 
\t include('connect-db.php'); 
 
    
 
\t if (isset($_POST['submit'])) { 
 
\t \t 
 

 
$filename= $_FILES["imgfile"]["name"]; 
 
    if ((($_FILES["imgfile"]["type"] == "image/gif")|| ($_FILES["imgfile"]["type"] == "image/jpeg") || ($_FILES["imgfile"]["type"] == "image/png") || ($_FILES["imgfile"]["type"] == "image/pjpeg")) && ($_FILES["imgfile"]["size"] < 20000000)) 
 

 

 

 
    { 
 
    if(file_exists($_FILES["imgfile"]["name"])) 
 
    { 
 
     echo "File name exists."; 
 
    } 
 

 
    else 
 
    { 
 
     move_uploaded_file($_FILES["imgfile"]["tmp_name"],"photos/$filename"); 
 
    } 
 

 

 
    } 
 
    
 

 
\t \t if (is_numeric($_POST['id'])) { 
 
\t \t \t $id = $_POST['id']; 
 
\t \t \t 
 
\t \t \t $id_photo= mysql_real_escape_string(htmlspecialchars($_POST['filename'])); 
 

 
\t \t \t // check that firstname/lastname fields are both filled in 
 
\t \t \t 
 
\t \t \t if ($filename== '') { 
 
\t \t \t \t // generate error message 
 
\t \t \t \t $error = 'ERROR: Please fill in all required fields!'; 
 

 
echo("<meta http-equiv='refresh' content='0'>"); //Refresh by HTTP META 
 

 
\t \t \t } else { 
 
\t \t \t \t // save the data to the database 
 
\t \t \t \t mysql_query("UPDATE table SET id_photo='$filename' WHERE id='$id' ") or die(mysql_error()); 
 
\t \t \t \t // once saved, redirect back to the view page 
 

 
echo("<meta http-equiv='refresh' content='0'>"); //Refresh by HTTP META 
 

 
\t \t \t } 
 

 
\t \t } else { 
 
\t \t \t // if the 'id' isn't valid, display an error 
 
\t \t \t echo 'Error!'; 
 
\t \t } 
 
    
 
\t } 
 
\t 
 
\t 
 
\t ?> 
 
\t

Даже эхо if (file_exists ($ _ FILES ["imgfile"] ["name"])), он не работает, я не знаю, почему

Большое спасибо, прежде чем ответить

+0

вы хотите переименовать загрузки файл??? –

ответ

1

попробуйте этот код этот код никогда не получит такое же имя этот код будет переименовать файл как 2jh5425h44u5h45h454k5image.jpg этого, как он будет СОХРАНИТЬ поэтому нет необходимости беспокоиться о дубликатов файлов я добавил случайное имя генератора $newname = md5(rand() * time()); это будет генерировать случайное имя файла

<?php 

include('connect-db.php'); 
$newname = md5(rand() * time()); 
if (isset($_POST['submit'])) { 

    $filename = $_FILES["imgfile"]["name"]; 
    if ((($_FILES["imgfile"]["type"] == "image/gif") || ($_FILES["imgfile"]["type"] == "image/jpeg") || ($_FILES["imgfile"]["type"] == "image/png") || ($_FILES["imgfile"]["type"] == "image/pjpeg")) && ($_FILES["imgfile"]["size"] < 20000000)) { 
     if (file_exists($_FILES["imgfile"]["name"])) { 
      echo "File name exists."; 
     } else { 
      move_uploaded_file($_FILES["imgfile"]["tmp_name"], "photos/$newname . $filename"); 
     } 
    } 
    if (is_numeric($_POST['id'])) { 
     $id = $_POST['id']; 

     $id_photo = mysql_real_escape_string(htmlspecialchars($_POST['filename'])); 

     // check that firstname/lastname fields are both filled in 

     if ($filename == '') { 
      // generate error message 
      $error = 'ERROR: Please fill in all required fields!'; 

      echo("<meta http-equiv='refresh' content='0'>"); //Refresh by HTTP META 
     } else { 
      // save the data to the database 
      mysql_query("UPDATE table SET id_photo='$filename' WHERE id='$id' ") or die(mysql_error()); 
      // once saved, redirect back to the view page 

      echo("<meta http-equiv='refresh' content='0'>"); //Refresh by HTTP META 
     } 
    } else { 
     // if the 'id' isn't valid, display an error 
     echo 'Error!'; 
    } 
} 
?> 

, если вам нужно только переименовать, если файл дублировать здесь ответ Renaming duplicate files in a folder with php

+0

Большое спасибо! легко объяснить ..... Работал! –

Смежные вопросы