Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP][inne] Problem ze ściągnięciem pliku ze strony
Forum PHP.pl > Forum > Przedszkole
czaro123
Witam,
mam taki kod wstawiony na stronę postawioną na wordpress:
  1. <a href="<?php echo $generated; ?>"><button style="margin-top:15px;">Pobierz wynik</button></a>

jest to prosty kod, który pozwala pobrać plik z dysku, znajdujący się pod $generated.
Problem:
jeśli wrzucę ten kod na "czystą" domenę to wszystko działa prawidłowo tzn po kliknięciu jest możliwość pobrania pliku. ALE jeśli wrzucę ten kod na stronę zbudowaną na wordpress to wyskakuje mi podstrona o adresie zaczerpniętym z $generated z info że taka strona nie istnieje.
Gdzie mam szukać rozwiązania? lub jak przerobić powyższy kod aby użytkwonik mógł pobrać plik ze strony?
z góry dzięki za pomoc
nospor
To moze bys pokazal jak wyglada zawartosc tego $generated, nie sadzisz?

Obstawiam ze jest tam sciezka wzgledna, stad problem. Jakby tam byla pelna sciezka do pliku, z calym poczatkiem: http://strona.pl/plik.dosciagniecia to by dzialalo
czaro123
jest pełna ścieżka. $generated wygląda następująco:
  1. $generated = "/home/mojserwer/ftp/mojastrona/wp-content/generated/".uniqid('gen',true).'.csv';

wszystko ładnie działa na "pustej" domenie, gdzie wrzucę to jako plik "index", ale już przestaje działać na wordpress. nie wiem gdzie szukać problemu.
vedget
moze .htaccess blokuje ci ten plik badz folder w ktorym on jest. proponuje sprawdzic .htaccess i dac sciezke bezwzgledna do pliku.

  1. -htdocs
  2. -app
  3. -bin
  4. -public
  5. -twoj_plik.exe
  6. -web
  7. -index.php

w pliku index.php najlepiej zaraz pod znacznikiem "<?php" wstaw definicje sciezki a nastepnie odwolaj sie za jej pomoca do pliku.

  1. <?php
  2. /** Example:
  3.  * Location: .../index.php
  4.  */
  5. if ( !defined('BASEPATH') )
  6. define('BASEPATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
  7.  
  8. $generated = ( BASEPATH . "bin\\public\\twoj_plik.exe" );
  9.  
  10. <a href="<?php echo $generated; ?>"><button style="margin-top:15px;">Pobierz wynik</button></a>


PS. zeby pobralo ci plik musisz dodac jego rozszerzenie. chyba ze jest generowany dynamicznie.
nospor
To ma byc URL a nie sciezka do pliku na dysku... To są dwie zupelnie rozne rzeczy. Przez przegladarke dopierasz sie przy pomocy URL a nie sciezek na dysku
vedget
Moj blad. w takim razie Czaro123 plik "index.php" musi byc w folderze nadrzednym wzgledem pobieranego pliku, i musi byc widoczny dla servera.
Tzn w folderze z plikiem do pobrania nie moze byc deklaracji .htaccess
Kod
deny from all


nospor
@veget o czym ty piszesz? nie dziala to dla czaro bo podal sciezke na dysku do pliku a tam ma byc URL. Na chwile obecną blad nie ma zadnego zwiazku htaccess i widocznoscia pliku index.php ...
czaro123
rzeczywiście, podmieniłem ścieżkę do pliku na URL i działa. wielkie dzięki
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.