Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Powtarzajace się nazwy plików w bazie
Forum PHP.pl > Forum > Przedszkole
imlegend
Mój kod do wysyłania obrazków na serwer ftp i tytułu do bazy. Jak go przekształcić aby nie dochodziło do sytuacji, w której
dwóch użytkowników przyśle mi do bazy różne zdjęcia o tej samej nazwie ? Bo wtedy dwa wpisy mają te same zdjęcia, a zdjęcia tego pierwszego wpisu są
nadpisywane nowymi. Może są jakieś w miarę proste sposoby na to ?


  1.  
  2. $target = "wyslane/";
  3. $target1 = "wyslane/";
  4. $target2 = "wyslane/";
  5. $target3 = "wyslane/";
  6. $target4 = "wyslane/";
  7. $target5 = "wyslane/";
  8.  
  9. $target = $target . basename( $_FILES['photo']['name']);
  10. $target1 = $target1 . basename( $_FILES['photo1']['name']);
  11. $target2 = $target2 . basename( $_FILES['photo2']['name']);
  12. $target3 = $target3 . basename( $_FILES['photo3']['name']);
  13. $target4 = $target4 . basename( $_FILES['photo4']['name']);
  14. $target5 = $target5 . basename( $_FILES['photo5']['name']);
  15.  
  16. //This gets all the other information from the form
  17. $login = $_SESSION['login'];
  18. $name=$_POST['name'];
  19. $name1 =$_POST['name1'];
  20. $name2 =$_POST['name2'];
  21. $name3 =$_POST['name3'];
  22. $name4 =$_POST['name4'];
  23. $name5 =$_POST['name5'];
  24. $pic=($_FILES['photo']['name']);
  25. $pic1=($_FILES['photo1']['name']);
  26. $pic2=($_FILES['photo2']['name']);
  27. $pic3=($_FILES['photo3']['name']);
  28. $pic4=($_FILES['photo4']['name']);
  29. $pic5=($_FILES['photo5']['name']);
  30.  
  31. $id=$_SESSION['id'];
  32. // Connects to your Database
  33.  
  34.  
  35.  
  36. //$op = mysql_query("select id from users where id = '$id' ");
  37. //Writes the information to the database
  38. //mysql_query("INSERT INTO users (name, photo, photo1, name1) VALUES ('$name', '$pic' ,'$pic1', '$name1')") ;
  39.  
  40.  
  41. mysql_query("UPDATE users SET name='$name', name1='$name1', name2='$name2', name3='$name3', name4='$name4', name5='$name5', photo = '$pic', photo1 = '$pic1', photo2 = '$pic2', photo3 = '$pic3', photo4 = '$pic4', photo5 = '$pic5' WHERE login = '$login' ");
  42.  
  43.  
  44. $allowed = array('jpg', 'jpeg', 'gif', 'png');
  45.  
  46. //Writes the photo to the server
  47. if(move_uploaded_file($_FILES['photo']['tmp_name'] ,$target) )
  48. {
  49.  
  50.  
  51.  
  52.  
  53. //Tells you if its all ok
  54. echo "The file ". basename( $_FILES['photo']['name'] ). " has been uploaded, and your information has been added to the directory";
  55. echo implode(', ', $allowed);
  56. }
  57.  
  58.  
  59. if(move_uploaded_file($_FILES['photo1']['tmp_name'] ,$target1) )
  60. {
  61.  
  62. //Tells you if its all ok
  63. echo "The file ". basename( $_FILES['photo1']['name'] ). " has been uploaded, and your information has been added to the directory";
  64. echo implode(', ', $allowed);
  65. }
  66.  
  67. if(move_uploaded_file($_FILES['photo2']['tmp_name'] ,$target2) )
  68. {
  69.  
  70. //Tells you if its all ok
  71. echo "The file ". basename( $_FILES['photo2']['name'] ). " has been uploaded, and your information has been added to the directory";
  72. echo implode(', ', $allowed);
  73. }
  74.  
  75. if(move_uploaded_file($_FILES['photo3']['tmp_name'] ,$target3) )
  76. {
  77.  
  78. //Tells you if its all ok
  79. echo "The file ". basename( $_FILES['photo3']['name'] ). " has been uploaded, and your information has been added to the directory";
  80. echo implode(', ', $allowed);
  81. }
  82.  
  83. if(move_uploaded_file($_FILES['photo4']['tmp_name'] ,$target4) )
  84. {
  85.  
  86. //Tells you if its all ok
  87. echo "The file ". basename( $_FILES['photo4']['name'] ). " has been uploaded, and your information has been added to the directory";
  88. echo implode(', ', $allowed);
  89. }
  90.  
  91. if(move_uploaded_file($_FILES['photo5']['tmp_name'] ,$target5) )
  92. {
  93.  
  94. //Tells you if its all ok
  95. echo "The file ". basename( $_FILES['photo5']['name'] ). " has been uploaded, and your information has been added to the directory";
  96. echo implode(', ', $allowed);
  97. }
  98.  
  99.  
chmiello
możesz wygenerować hash za pomocą md5_file i zapisywać je w baze, potem przesyłając nowy plikm, generujesz dla niego md5_file i porównujesz, czy takie coś nie istnieje w bazie - nie wiem czy o coś takiego Ci chodziło, ale powinno zadziałać smile.gif
emillo91
Możesz do tego użyć funkcji time() i żeby było jeszcze lepiej połączyć ją z funkcją rand() która wymiesza znaki. Dla przykładu:
  1. $czas = time();
  2. $random = rand(1, $czas);
  3. $szyfruj = md5($random);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.