Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] zmiana nazwy pliku przy pobieraniu.
Forum PHP.pl > Forum > Przedszkole
puz219
Witam.

W jaki sposób zrobić tak, by przy pobieraniu zmieniało nazwę pliku.

Tzn. mam w bazie pliki, których nazwy generują się w momencie uploadu, tak, żeby nie były nigdy takie same, np. mam coś takiego vXcEWBHHaGmUai7c.zip

I teraz chcialbym zrobić, tak, żeby w momencie pobierania automatycznie sugerowało taka bardziej przyjazną dla użytkownika nazwę np.

Tytul_nazwa_serwisu.zip

Tylko nie wiem, jak czegoś takiego dokonać.

Proszę o pomoc lub chociaż o jakieś wskazówki.

Pozdrawiam
Mlodycompany
jak ja bym to robil to bym np. zakodowal w md5 nazwe pliku, ale nie jestem pewien czy to by zadzialalo biggrin.gif
Lejto
zezpośrednio przy pobraniu pliku chyba tego nie można zrobić przy wysyłaniu pliku na serwer to tak
Tabus
upload.dvhk.pl tutaj zawsze dopisuje UPLOAD.DVHK.PL przy kazdym pliku też mnie to zastanawialo jak snitch.gif
puz219
Skoro tak mówisz, to ok, dał bym głowę, że już raz gdzieś takie coś widziałem, co właśnie przy pobieraniu sugerowało nazwę, ale nie mam pojęcia gdzie, pytałem Google, ale nic sensownego mi nie odpowiedział, więc pewnie jest tak, jak mówisz.

Mimio wszystko dzięki.
Lejto
@Tabus dopisywanie może odbywać się przy uploadzie, po wypowiedzi @puz219 też bezpośrednio (ale raczej tak)
mam ty kod który zmienia nazwa przy upladzie może ci coś pomoże @puz219
  1. <?php
  2. $nazwa1 = date("His");//wykorzystanie daty do wygenerowania nowej nazwy dla pliku
  3. $nazwa2 = $_FILES['obraz']['name'];//pobranie nazwy pliku z tablicy
  4. $nazwa_zmieniona = "$nazwa1$nazwa2";//połączenie daty z nazwą pliku
  5.  
  6. //zamienia polskie litery z języczkami aby nie znalazły się w nazwie fotki
  7. $nazwa_zmieniona = strtolower($nazwa_zmieniona);
  8. $nazwa_zmieniona = ereg_replace(" ","_",$nazwa_zmieniona);
  9. $nazwa_zmieniona = ereg_replace("ą","a",$nazwa_zmieniona);
  10. $nazwa_zmieniona = ereg_replace("ę","e",$nazwa_zmieniona);
  11. $nazwa_zmieniona = ereg_replace("Ľ","z",$nazwa_zmieniona);
  12. $nazwa_zmieniona = ereg_replace("ż","z",$nazwa_zmieniona);
  13. $nazwa_zmieniona = ereg_replace("ó","o",$nazwa_zmieniona);
  14. $nazwa_zmieniona = ereg_replace("ł","l",$nazwa_zmieniona);
  15. $nazwa_zmieniona = ereg_replace("ś","s",$nazwa_zmieniona);
  16. $nazwa_zmieniona = ereg_replace("Ś","s",$nazwa_zmieniona);
  17. $nazwa_zmieniona = ereg_replace("ć","c",$nazwa_zmieniona);
  18. ?>
netmare
  1. <?php
  2. header('Content-Disposition: attachment; filename="Tytul_nazwa_serwisu.zip"');
  3. echo(file_get_contents("vXcEWBHHaGmUai7c.zip"));
  4. ?>


To który plik odczytać zapewne znajdziesz w bazie, a nazwę jaką sobie tylko życzysz winksmiley.jpg
Pozdrawiam
lilik
np tak

  1. <?php
  2. $ren=date("dmyHis").'.jpg';
  3. copy($_FILES[zdjecie][tmp_name], "fotki/$ren");
  4. ?>


a do zmiany plikow ktore byly wczesniej wgrane sluzy funkcja rename();
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.