Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] upload zdjęc - te same nazwy, fotki się nadgrywają gdy ta sama nazwa
grzegorz_g
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 26.10.2004

Ostrzeżenie: (0%)
-----


proszę o podpowiedź jak rozwiązać taki problem:

mam komis samochodowy i chciałbym aby user dodawał zdjęcia swojego samochodu . Do uploadu używam takiego czegoś:

  1. <?php
  2.  
  3.  // upolad zdjęć
  4. foreach ($_FILES[&#092;"foto\"][\"error\"] as $key => $error) {
  5.  if ($error == UPLOAD_ERR_OK) {
  6.  $tmp_name = $_FILES[&#092;"foto\"][\"tmp_name\"][$key];
  7. $name = $_FILES[&#092;"foto\"][\"name\"][$key];
  8.  $name= strtr($name, 'ążśźęćńół', 'azszecnol');
  9.  move_uploaded_file($tmp_name, &#092;"foto/$name\");
  10.  $array[] = $name;
  11.  
  12. resizeImage(&#092;"foto/$name\", 60, 60, \"foto/mini_\".$name, 75);
  13. resizeImage(&#092;"foto/$name\", 320, 280, \"foto/ok_\".$name, 75);
  14. unlink(&#092;"foto/$name\");
  15. }
  16. }
  17.  
  18. ?>


problem polega na tym iż gdy jeden uzer wprowadzi fotkę o nazwie auto.jpg a później inny dla innego samochodu też wprowadzi fotkę "auto.jpg" nadgra się.

Jak wybrnąć z tego problemu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mario
post
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

Ostrzeżenie: (0%)
-----


ja to rozwiązałem w prosty sposób, wyciagam rozszerzenie uploadowanego pliku, losuję ciąg znaków i zapisuję pod nową losową nazwą:

  1. <?php
  2. $ext = pathinfo ($zdjecie_wstaw_name);
  3. $ext = $ext[&#092;"extension\"];
  4.  
  5. If ($ext==&#092;"gif\" || $ext==\"GIF\" || $ext==\"jpg\" || $ext==\"JPG\" || $ext==\"jpeg\" || $ext==\"JPEG\" || $ext==\"png\" || $ext==\"PNG\" && $ok==\"1\" && $ext!=\"\")
  6.  {
  7.  $nazwa = md5(uniqid(rand()));
  8.  $nazwa_pliku = &#092;"$nazwa\".\"$ext\";
  9.  copy (&#092;"$zdjecie_wstaw\", \"$nazwa_pliku\");
  10.  }
  11. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 23:42