![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Piszę CMS, więc napisałem skrypt który teoretycznie powinien sprawdzić czy na moim serwerze jest dostępna nowsza wersja i jeśli tak powiadomić o tym usera. Jako, że sam CMS ma działać na jak największej liczbie serwerów zrezygnowałem całkowicie z wysokopoziomowych funkcji obsługi plików na rzecz fopen, funkcja sprawdzająca wygląda tak:
I mam następujące pytania: Czy lepiej użyć fsockopen zamiast fopen(tak aby działało niezależnie od dyrektywy allow_url_fopen)? No i oczywiście czy ta metoda zadziała? -------------------- Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/ |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
masz też file_get_contents, jeżeli zastosujesz dokument XML to i simplexml_load_file.
Ten post edytował Riklaunim 26.10.2008, 12:27:32 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat zrezygnowałem całkowicie z wysokopoziomowych funkcji obsługi plików Czytaj ze zrozumieniem, file_get_contents jest wysoko poziomowe. -------------------- Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/ |
|
|
-gox- |
![]()
Post
#4
|
Goście ![]() |
Cale php jest wysokopoziomowe
![]() |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
~Maxik dwie rzeczy:
1. Nie używaj słów, których znaczenia nie rozumiesz (wysokopoziomowe); 2. Pisz jak człowiek pod PHP5 z wykorzystaniem wszystkich możliwości. Każde inne rozwiązanie to strzał we własne kolano. |
|
|
-gox- |
![]()
Post
#6
|
Goście ![]() |
Na fopen rzeczywiscie masz wieksza przenosnosc...
przynajmniej teoretycznie, bo watpie zeby istnial serwer pozwalajacy na fopen i jednoczenie nie pozwalajacy na fsockopen Przy fsocku masz wiecej roboty, musisz odzielic naglowek http.. chyba ze uzywasz XML'a (powinienes) to wtedy nie. Socket Timeout'u nie ustawisz ani na fsock, ani na fopen, ani na file_get_content, nawet default_socket_timeout nie dziala... Dopiero na prawdziwych soketach masz mozliwosc ustawienia timeoutu. A czy nie lepiej by bylo... sprawdzac aktualizacje ajaxem? ![]() Przeciez i tak cms nie bedzie sie sam aktualizowal, realizowanie sprawdzania wersji po stronie serwera jest wiec bez sensu. Troszenke zmienilem twoj kodzior
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
mike:
1. Tak te funkcje były nazwane w książce z którą zaczynałem naukę PHP i tak mi zostało, funkcje te nie działają np. na yoyo.pl 2. Klasy mam narazie w PHP4, ale planuję przepisać je na PHP5(zresztą tak jak pisałem system ma działać na jak największej liczbie serwerów, a nie wszyscy mają dostępne PHP5, to z kolei jest kompatybilne wstecz) gox: Dzięki za odpowiedź. -------------------- Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/ |
|
|
-gox- |
![]()
Post
#8
|
Goście ![]() |
Wiec rob na ajaxie ;p
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Nie zrobię na ajaxie, bo ajaxem mogę się połączyć tylko z serwerm na którym jest ajax wrzucony, inaczej jest błąd 403 Forbidden
-------------------- Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/ |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Jaka to książka - tak z ciekawości, żebym wiedział czego nie polecać
![]() PHP4 już nie ma. Nikt już nie pisze kodu na php4 chyba, że jest hobbystą-masochistą. W tym przypadku popieram kolegów proponujących ajax. Zawsze możesz puścić 2 żądania: 1. Sprawdzenie czy są aktualizacje 2. Instalacja aktualizacji, jeśli taką online udostępnisz ![]() Pozdrawiam --edit A to prawda - nie zrobisz tak ![]() Polecam w takim razie file_get_contents() i proste 0 lub 1 na wyjściu. (a ajaxowo możesz zaprezentować) Ta funckja nie jest "wysokopoziomowa" i jest standardowo w php5. Nie możesz zakładać działania na jak największej liczbie serwerów z kilku powodów. 1. To serwer ma być dostosowany do aplikacji 2. Tak rozumiany uniwersalny kod jest trudny w utrzymaniu. 3. Ze względu na pkt.2 większość osób odrzuci Twój CMS, bo więcej zapłacą za jego ewentualne modyfikacje niż za normalny serwer z normalną obsługą php5. (50 zł/rok ?) -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
-gox- |
![]()
Post
#11
|
Goście ![]() |
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
PHP w mgnieniu oka.
Wiem, że PHP4 już nie ma, ale na części serwerów domyślnie jest ustawione. Tak jak pisałem Ajax odpada. Planuję aby ten system był jak najprostszy w użyciu i osoba z minimalną ilością wiadomości na temat programowania/informatyki poradziła sobie z jego obsługą i instalacją. -------------------- Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/ |
|
|
-gox- |
![]()
Post
#13
|
Goście ![]() |
Skoro tak wyjscie jest tylko jedno, zrobic sprawdzanie aktualizacji na ajaxie
![]() |
|
|
![]()
Post
#14
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Skoro tak wyjscie jest tylko jedno, zrobic sprawdzanie aktualizacji na ajaxie Odpytania AJAXowe można robić tylko na adresach w domenie w której działa pytający skrypt JavaScript.![]() Nie możesz postawić sobie aplikacji w domenie domena.com i walić obiektem XMLHttpRequest w adres innadomena.com Można to obejść na przykład tak: Ajax i wiele domen ale bez obejść nie działa. I to właśnie miał na myśli ~Maxik w swoim poprzednim poście. |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
@gox - chodzi o łączenie w ramach jednej domeny.
@Maxik - co najwyżej na darmowych tak może być. Twój argument jest nieaktualny. Naprawdę. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
-gox- |
![]()
Post
#16
|
Goście ![]() |
Czyli sie da
![]() Skoro nie ajax to frame. |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 129 Dołączył: 10.01.2008 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
W temaciechodziło o to czy ta metoda w ogóle zadziała, jeśli tak to w porządku, a jak to bedzie obsłużone od strony panelu admina, to już osobna sprawa. Dzięki za pomoc.
-------------------- Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/ |
|
|
-gox- |
![]()
Post
#18
|
Goście ![]() |
Zadziala, ale 85% osob ktore zdecyduja sie uzyc Twojego cmsa nie beda w stanie zobaczyc czy jest nowa wersja, poniewarz korzystaja z darmowych hostingow...
jesli zrobisz iframe, to 100% uzytkownikow zobaczy czy jest nowa wersja, nawet przy wylaczonym javasccripcie ![]() |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Sorki ale fopen() tez moze nie zadzialac jesli allow_url bedzie wylaczone czy sie myle??
Ja myslalem to zrobic za pomoca curl lub na socketach ![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
-gox- |
![]()
Post
#20
|
Goście ![]() |
fopen nie dzialala jesli allow_open_url bedzie na off, masz slusznosc.
Curl ma okrutnego mula, nie powinno sie go uzywac nigdy. framka wygrywa ;p |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 06:55 |