Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmiana nazwy pliku pobieranego
Forum PHP.pl > Forum > Przedszkole
ithat
Witam, mam problem ze zmiana nazwy pliku pobieranego z serwera. Mam plik export.csv na serwerze, pakuje do niego dane z serwera, a nastepnie go pobieram, wszystko dziala, tylko nie potrafie zmienic nazwy pliku pobieranego. O to kod :

  1. $wynik = mysql_query("SELECT * FROM baza_zamowienia WHERE klient = '{$_POST['dane']}'");
  2. $licznik = mysql_num_rows($wynik);
  3. }
  4. }
  5. $zapisz = fopen('eksport.csv', 'w');
  6.  
  7. while($r = mysql_fetch_object($wynik)) {
  8.  
  9. fwrite($zapisz, $r->sn.';'.$r->urzadzenie.';'.$r->zamowienie.';'.$r->klient.';'.$r->nr_faktury.';'.$r->data.";\n");
  10.  
  11. }
  12.  
  13. fclose($zapisz);
  14.  
  15. mysql_close($link);
  16. ?>
  17.  
  18. <meta HTTP-EQUIV="REFRESH" content="0; url=eksport.csv">

Próbowałem używać funkcji rename ale bez skutku. Jakies pomysly?
Sephirus
Nie do końca wiem o co chodzi ale czy nie możesz po prostu zapisać go z inną nazwą?

  1. $zapisz = fopen('eksport.csv', 'w'); // tutaj i jej używać


ithat
W tym miejscu wskazuje na plik na serwerze, a nastepnie co z nim chce robic.
A w jaki sposob zapisac go pod inna nazwa?
nospor
facepalmxd.gif

$zapisz = fopen('innanazwa.csv', 'w');
...
<meta HTTP-EQUIV="REFRESH" content="0; url=innanazwa.csv">
ithat
AAA faktycznie masz racje thx smile.gif
Sobak
Samo meta refresh w tym wypadku też jest niezła prowizorką. Na Twoim miejscu zainteresowałbym się nagłówkami force download. Ten przykład powinien Ci pomóc:
  1. <?php
  2. $filename = 'test.doc';//wybieramy plik do ściągnięcia
  3. header('Content-Type:application/force-download');//ustawiamy mu uniwersalny typ mime (można bawić się w nadawanie mu application/msword, image/gif, itd...
  4. header('Content-Disposition: attachment; filename="'.basename($filename).'";');//tutaj podajemy nazwę pliku - domyślnie ustawiłem, aby plik nazywał się tak jak oryginał
  5. header('Content-Length:'.@filesize($filename));//dodajemy wielkość pliku
  6. @readfile($filename)or die('File not found.');//czytamy plik
  7. ?>
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.