![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.01.2018 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Właśnie zaczynam swoją przygodę z PHP więc na początku prosiłbym o nieco wyrozumiałości. Aktualnie potrzebuje zrobić prosty skrypcik który będzie: 1) odczytywał dane z pliku na CSV (znajdującego się na zdalnym serwerze), 2) odczytanie dane będą przypisane do zmiennych, 3) kilka opercji obliczeniowych i 4) na koniec wyświetlenie końcowego efektu na ekran (a w nieco dalszej przyszłości również zapisanie tych wyników do bazy MySQL) Aktualnie mój skrypt wygląda następująco:
A oto problemy jakie spotkałem na swojej drodze i bardzo prosiłbym o pomoc w ich rozwiązaniu: 1) W chwili obecnej plik CSV wczytuje ręcznie z pliku znajdującego się na dysku lokalnym komputera. Jak zrobić aby plik ten był odczytywany z (obcego) serwera www (do którego mam link) 2) W pliku CSV (po otwarciu go w notatniku) polskie znaki wyświetlają się poprawnie, ale w przeglądarce już nie. Jak zrobić aby w przeglądarce poprawnie wyświetlały się polskie znaki? 3) Jak poprawić ten kod aby odczytywanie plików ZAWSZE zaczynało się od DRUGIEJ linii ? (Pierwsza linia zawiera nagłówki których nie potrzebuje wczytywać gdyż mam odpowiednio nazwane zmienne dzięki czemu wiem jakie dane są pobrane z poszczególnych kolumn pliku CSV) 4) Nie udało mi się w dostępnych materiałach znaleźć informacji na temat tego aby język PHP posiadał coś takiego jak TIMER (znany z innych języków programowania). Jak w związku z tym zmusić skrypt aby pewne działania były wykonywane cyklicznie co godzinę i to bez względu na to co robi użytkownik. Za pomoc z góry dziękuje. Ten post edytował viper2000 12.01.2018, 02:08:24 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
1. Można zwykłe file_get_contents ale nie wszystkie serwery zezwalają na taki dostęp do zasobów. Łatwiej użyć biblioteki https://github.com/guzzle/guzzle
2. Ustaw prawidłowe nagłówki 3. Zacznij iterować forem od innej linii 3. CRON -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.01.2018 Ostrzeżenie: (0%) ![]() ![]() |
1) mam nadzieje że na płatnym hostingu w home.pl nie będzie z tym żadnego problemu - w wolnej chwili przetestuje i w razie problemów będę kontynuował ten wątek.
2) Jakie nagłówki?? W pliku csv ? Bo jeśli tak to nie będę w stanie nic z tym zrobić ponieważ docelowo plik ten ma być wczytywany z zewnętrznego serwera www( do którego mam tylko link, a plik jest udostępniony jedynie z prawami do odczytu i pobierania na dysk). Jeśli możesz to rozwiń swoją myśl bo nie bardzo rozumiem w jaki sposób mam ustawić te nagłówki. 3) Aby skorzystać z pętli FOR to potrzebuje (przed rozpoczęciem pętli) znać liczbę wszystkich linii w pliku. Jak w takim układzie odczytać liczbę linii w pliku CSV ![]() 4) Poczytałem sobie o CRON - w tym względzie wszystko wydaje się jasne, mam nadzieje że nie pojawią się problemy gdy zacznę pisać kod :-) A narzazie DZIĘKUJĘ ZA PODPOWIEDŹ |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Home to jeden wielki problem więc nie gwarantuję. Artykuł o kodowaniu znaków ze stopki. Pierwszy z brzegu przykład fgetcsv i count.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.01.2018 Ostrzeżenie: (0%) ![]() ![]() |
Nieznacznie przerobiłem swoją funkcję oczekując tego iż na moim ekranie wyświetli się aki sam zestaw informacji jak wcześniej oraz dodatkowo ilość linii w pliku csv .
Niestety wyświetla mi się teraz TYLKO ilość linii w pliku CSV , a nie wyświetlają się wartości zapisane w pliku CSV (tak jak by ta pentla FOR w ogóle się nie wykonała) Możecie powiedzieć mi dlaczego pętla for w ogóle się nie wykonuje ( a bynajmniej nie widzę na ekranie efektów tej pętli), nie ma też żadnych błędów. Oto nieco zmieniony tekst mojej funkcji:
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie podstawowy debug - zobacz co masz w $a, a w pętli wypisz sobie $licznik.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 10:30 |