Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak pobrać i zapisać zdalny plik csv na dysku
Forum PHP.pl > Forum > PHP
amii
Nie wiem czy takie coś się da zrobić ale do rzeczy. Mam stronę a na niej link coś w postaci:
https://strona.pl/index.php/products/getcsv...41d887b4e7c139e
po kliknięciu w ten link wyświetla mi się takie okno:

Plik sobie gdzieś zapisuje na lokalnym dysku. Chciałbym jednak żeby to skrypt zapisywał ten plik i później go obrabiał. Jakieś pomysły ?
marcio
skoro jest to plik csv wyslij go do przegladarki i potem za pomoca file_get_contents() pobierz zawartosc lub sockety co tylko zechcesz..
amii
marcio takim prostym duperelem nie zawracałbym Wam głowy smile.gif To nie jest gotowy plik csv , plik się generuje w momencie kliknięcia na link, po za tym pozostaje problem z ominięciem okna i zapisem na lokalny dysk.
marcio
z poziomu php raczej nie da sie zapisac pliku na dysk lokalny bez potwierdzenia okienka...tak mi sie wydaje nie jestem pewny w 100%
Sephirus
Ok zasada jest prosta - Przeglądarka jest po stronie użytkownika - dosłownie i w przenośni - nie pozwoli więc na zapis pliku na dysku "ot tak!" smile.gif

Juzer musi potwierdzić taką operację. Innymi słowy nie ma opcji bez dodatkowewgo (czy nawet dedykowanego) oprogramowania.

Trzeba by było napisać własną "przeglądarkę" lub program który by się tym zajął.

HTH! wink.gif

A jeżeli bardzo Ci na tym zależy to możesz zrobić jeszcze inaczej. Jeżeli masz stałe IP (co jest teraz dość często spotykane) możesz zrobić tak:

Zainstaluj sobie serwer ftp, ustal login, hasło i jakiś katalog.

W aplikacji na stronie możesz połączyć się poprzez PHP ze swoim FTP i działać tam jak tylko chcesz wink.gif

START: Tutaj wink.gif
cezet
Troszkę nie rozumiem na czym polega problem.
Przecież jeśli byś np. chciał pobrać źródło strony http://php.pl/index.php - też użyłbyś file_get_contents() albo curl'a,
pomimo że źródło strony jest generowane dynamicznie.

I nawet jeśli w tym przypadku csv jest generowane w momencie zażądania obiektu z tej lokalizacji - przejmiesz w odpowiedzi serwera gotowy wygenerowany plik.

A to czy w przeglądarce okienko wyskakuje czy nie - to decyduje tylko jeden z elementów nagłówka odpowiedzialny za "typ danych"
Jesli w nagłówku odpowiedzi serwera będzie text/html - to przeglądarka wyświetli Ci stronę.
Jeśli natomiast będzie np. application/zip albo text/csv to wyskoczy Ci takie okienko,
ale treścią odpowiedzi serwera i tak będzie zawartość pliku.

Czy przed zadaniem pytania próbowałeś najpierw spróbować użyć file_get_contents() ?
amii
OK problem rozwiązany. Było tak jak pisał cezet, trzeba tylko było zalogować się poprzez CURL a z tym był problem na lokalnym serwerze (open_base_dir).
Natomiast tworząc plik do obsługi CURL, logowania i wyświetlania CSV na serwerze zewnętrznym a następnie wczytując jego treść z innego serwera lokalnego przez file_get_contents udało się to obejść.
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.