Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]czytanie zdalnego pliku
Forum PHP.pl > Forum > Przedszkole
redelek
Witam,

Mam do Was takie pytanie bo nie wiem jak ugryźć i czym taki problem.
Na serwerku zewnętrznym mam plik tekstowy w którym chciałbym zapisywać informacje o wersji mojej aplikacji i opisie.
Po wybraniu z menu opcji sprawdź aktualizacje, php połączyło by się to tego pliku i pobrało informację czy jest nowa wersja.
Ma pobrać numer nowej wersji oraz przypisany do tego opis. Nie chcę do tego zaprzęgać mysql, na pewno było by mi łatwiej, ale musiał bym wystawiać jakieś hasło, poza tym

Czytałem o file_get_contents , ale nie mogę sobie poradzić bo wczytuje mi całą zawartość. Jak to można by sprytnie rozwiązać.

Może ma ktoś z przedszkolaków coś takiego i by się podzielił. Nie jestem programistą i nie zarabiam na tym piszę hobbystycznie więc proszę o wyrozumiałość.

Dzięki
kartin
Jest wiele sposobów.

Możesz nawet użyć file_get_contents() i explode() - na początku wpisujesz nr wersji, następnie oddzielasz go jakimś znakiem/znakami i wpisujesz opis. Później wczytujesz cały plik i za pomocą explode('jakiś znak/znaki', $trescPliku, 2) dzielisz na 2 części.

Można też użyć file()
emillo91
Nie wiem czy też tak można ale zawsze można spróbować zaincludować coś takiego:
  1. include('www.strona.pl/plik.php');

Jeżeli chodzi o zmienne w skrypcie strony to powinny pokrywać się ze zmiennymi w plik.php .
kartin
Jeśli chodzi o techniczne możliwości to jak najbardziej można - zostanie wczytany plik plik.php z katalogu www.strona.pl.
Istnieje także możliwość dołączenia pliku z zewnętrznego serwera. Jednak jest to szukanie sobie problemów.
redelek
no to wykombinowałem tak
Tak wygląda plik
[app_0.1]
ver = 0.1
description = BIRD

[app_0.2]
ver = 0.2
description = dsfdsfsdfds fdsfdsfsdfds fsdfsdfdsfdsfds fsdfdsfdsfs

[app_0.3]
ver = 0.3
description = dsafsdfsd fsdfsdsd fdsfdsfsdf fdsfdsfds fdsfdsffdsfs fdsfsfsdfsdfsd

  1. $ini_array = parse_ini_file("https://moja_domena.pl/appka.txt", true);
  2. //print_r($ini_array);
  3.  
  4. foreach ($ini_array as $key=>$value) {
  5. //echo $value["ver"]."<br />";
  6. //echo $value["description"]."<br />";
  7. if ( $value["ver"] > "0.2" ){
  8. echo "New version ".$value["ver"]."<br />";
  9. echo "Description :<pre>".$value["description"]."</pre>";
  10. }else{
  11. echo "No application updates are available";
  12. }
  13. }

Problem jaki mam to że 3 razy wyświetla mi
  1. echo "No application updates are available";

a potem dopiero , że jest nowa wersja. Jest nowa wersja to wyświetl info, jeśli nie ma nowej wersji to wyświetla No application updates are available jeden raz ?

dzięki
kreatiff
Na chwilę obecną drukujesz w pętli informację o dostępności lub braku nowej wersji przy każdej iteracji. Dlatego masz tyle informacji zwrotnych, ile wersji w pliku ini.

Dodatkowo, jeśli sprawdzisz sobie wersję 0.1, to będziesz miał 2 informacje o aktualizacjach (0.2 i 0.3), a nie wiem czy tego chcesz.

Trzeba to jakoś przebudować, by skrypt sprawdzał najwyższą wersję w tablicy $ini_array i dopiero wówczas przyrównywał do bieżącej. I na tej podstawie wyświetlał informację o najnowszej wersji, lub braku uaktualnienia.
Nie będzie potrzebna iteracja w takim wypadku.
emillo91
możesz pobrać przedostatnią linię z pliku txt i porównać ją z wersją twojego forum poprzez warunek " Jeżeli stara wersja = stara" to nic , natomiast" jeżeli stara wersja != stara" to jest dostępna aktualizacja wink.gif
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.