Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Upload plików działa, ale...
Forum PHP.pl > Forum > Przedszkole
in5ane
Witam, mam problem otóż chciałem aby mój skrypt jak uploaduje tworzył samemu jakieś nazwy (np. BNJ1251BH12), a nie przesyłał z oryginalnymi nazwami, gdyż jest często problem, bo pliki powtarzają nazwy.

Oto mój skrypt:
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  4. <title>Upload pliku</title>
  5. </head>
  6. <body>
  7.  
  8. <?php
  9. if (isset($_FILES['Plik']))
  10. {
  11. preg_match("'(.*).(.*)$'i", $_FILES['Plik']['name'], $ext);
  12. if (!empty($ext[2]))
  13. {
  14. $exts=strtolower($ext[2]);
  15. if ($exts == "gif" || $exts == "jpg" || $exts == "png")
  16. {
  17. if (move_uploaded_file($_FILES['Plik']['tmp_name'],'./fotki/'.$_FILES['Plik']['name']))
  18. {
  19.  echo('Plik został przesłany prawidłowo.');
  20.  }
  21.  else
  22.  {
  23.  switch($_FILES['Plik']['error'])
  24. {
  25. case 1: echo('Przesyłany plik jest większy niż zezwala konfiguracja serwera.');break;
  26. case 2: echo('Przesyłany plik jest większy niż zezwala formularz.');break;
  27. case 3: echo('Przesłano tylko część pliku.');break;
  28. case 4: echo('Plik nie został przesłany');break;
  29. }
  30.  }
  31. }
  32. else
  33. {
  34. echo('Przesyłany plik nie jest plikiem graficznym');
  35. }
  36. }
  37. }
  38. ?>
  39.  
  40. <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
  41. <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
  42. Wskaż plik do przesłania: <input type="file" name="Plik" /><br><br>
  43. <input type="submit" value="Wyślij plik" />
  44. </form>
  45. </body>
  46. </html>


Z góry dziękuję za pomoc.
Swirek
a może dodaj aby zawsze do nazwy pliku dodawała się wartość odczytana z pola bazy albo choćby z pliku tekstowego smile.gif a wartość w pliku zwiększała o 1 co upload.
czyli będziesz miał
nazwapliku0.jpg
nazwapliku1.jpg
nazwapliku2.jpg

ale trzeba dać blokade na cyferki w nazwie dodawanego pliku.
bez tego jest możliwość że się powtórzy ;p
in5ane
Można prosić o jakiś kod? Gdyż nie jestem bardzo zaawansowany w php. Chodzi głownie o te twoją blokadę.
erix
move_uploaded_file" title="Zobacz w manualu PHP" target="_manual
Przeczytaj, po co jest drugi parametr...

Najprościej byłoby dodać czas (time" title="Zobacz w manualu PHP" target="_manual) do końcówki nazwy.
in5ane
to teraz jak zrobic zeby ta kropka byla pomiedzy rozszezeniem a nazwa

--------------------------------------------------------------------------------------------------------------------

$new_name = date(dmy_His);
move_uploaded_file($_FILES['Plik']['tmp_name'],'./fotki/'.''.$new_name.''.''.$exts.'')

--------------------------------------------------------------------------------------------------------------------

$exts to jest rozszerzenie.
zaznaczylem ja na czerwono pod koniec tak.
niby ta kropka tam jest (na to czerwono) ale przy uploadzie jej nie dodaje.

temat sam rozwiazalem, mozna zamknac.
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.