Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Dość nietypowe otwieranie pliku
mopsiok
post 11.11.2011, 11:07:47
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.11.2011

Ostrzeżenie: (0%)
-----


Witam wszystkich, mam pewien problem dotyczący... otwierania pliku. Może zabrzmieć to nieco śmiesznie, ale piszę jak najbardziej serio. Chodzi o to, że skrypt PHP ma otworzyć plik z mojego dysku i odczytać go, bez względu na to na jakim komputerze ten skrypt zostanie uruchomiony. Kiedyś zetknąłem się z zapisywaniem pliku na dysk administratora, ale jeszcze nigdy nie widziałem żeby z jego dysku coś odczytywać. Czy jest to w ogóle możliwe? Jeśli nie, to może jest możliwość cyklicznego wrzucania na serwer nadpisanej wersji tego pliku z mojego dysku (są to logi z kanału IRC, nadpisywane praktycznie co chwilę), tak żeby można było go odczytać bezpośrednio z dysku?
Z góry dziękuję za wszelką pomoc smile.gif.

Pozdrawiam,
mopsiok

//Edit:
Sprawa się nieco uprościła. Teraz problem wygląda następująco: potrzebuję odczytać plik z mojego dysku, skrypt będzie zahostowany na serwerze ale odpalany tylko u mnie. Jak można takie coś osiągnąć?

Ten post edytował mopsiok 11.11.2011, 11:33:47
Go to the top of the page
+Quote Post
wizu
post 11.11.2011, 11:21:44
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 15
Dołączył: 16.02.2008
Skąd: Sanok

Ostrzeżenie: (0%)
-----


Jeśli ma pobierać logi bez względu na serwer na jakim zostanie uruchomiony, to chyba pozostaje Ci tylko postawienie jakiegoś serwera u siebie na kompie, np FTP, lub nawet apacha, i trzymanie logów w katalogu udostępniania. Później ustawiasz sobie crona na dany skrypt, który łączy się z Twoim kompem (bibliotek do tego masz wiele, od chociażby curl-a zaczynając) i pobiera co trzeba. Dobrze by było, gdybyś miał zewnętrzne IP wink.gif
Go to the top of the page
+Quote Post
mopsiok
post 11.11.2011, 21:28:12
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.11.2011

Ostrzeżenie: (0%)
-----


Zedytowałem pierwszy post, ale nie zauważyłem że ktoś odpisał biggrin.gif. Także sprawa ma się tak, że skrypt będzie odpalany z serwera ale tylko przeze mnie, nikt inny go nie będzie używać. Do tego doszedłem do wniosku, że wystarczy mi znać samą długość pliku z logami, więc mogę to zrobić po prostu tak, że po odczytaniu długości pliku z dysku nadpiszę jakiś plik na serwerze, który zawiera aktualną długość pliku. Pozostaje zatem kwestia odczytu tego logu... Bardzo mi zależy żeby to było rozwiązanie najprostsze z możliwych. Macie jakiś pomysł? wink.gif


//Edit:
No, sprawa uległa sporej zmianie. Założenia zostały uproszczone jeszcze bardziej - plik wysłać na serwer, i odczytywać z niego. Jest tylko jeden problem. Obsłużyłem wysyłanie pliku za pomocą formularza, tylko że potrzebuję to zrobić programowo. Nie będę przecież co kilka sekund wysyłać formularza...
oto kod formularza oraz skryptu:
  1. <form enctype="multipart/form-data" action="upload.php" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="500000" />
  3. <input name="ufile" type="file" />
  4. <input type="submit" value="Wyślij plik" />
  5. </form>

  1. <?php
  2. //pobranie pliku z forumularza
  3. $f = $HTTP_POST_FILES['ufile']['name'];
  4.  
  5. if($ufile != none){ //jesli plik to cokolwiek innego niz nic...
  6.  
  7. if(copy($HTTP_POST_FILES['ufile']['tmp_name'], $f)){ //jesli plik zostanie przeniesiony na serwer bezposrednio do folderu ze skryptem...
  8. echo '<span style="color: green;"><b>OK</b></span>'; //wyswietl cos na ekranie
  9. } else {
  10. echo '<span style="color: red;"><b>Jakis blad jest...</b></span>';
  11. }
  12. }
  13. ?>


Jakim sposobem wysłać plik na serwer bez ingerencji użytkownika, to jest automatycznie z poziomu PHP?

Ten post edytował mopsiok 11.11.2011, 21:32:20
Go to the top of the page
+Quote Post
abort
post 11.11.2011, 21:53:31
Post #4





Grupa: Zarejestrowani
Postów: 590
Pomógł: 107
Dołączył: 25.10.2011

Ostrzeżenie: (0%)
-----


A ja prowokacyjnie zapytam: czy do automatycznego przesyłanie pliku na serwer potrzebne jest aż tyle rzeczy jak Apache, php, formatki i takie inne?

Żeby nie było, że wprowadzam zamęt: jeśli to uniksy, to możesz automatycznie pobrać/wysłać dowolny plik z konsoli. Jeśli chcesz wysyłać regularnie, to polecam do tego zaprząc crona (jeśli przynajmniej jeden z serwerów to unix/linux). Mogę coś poradzić, ale muszę znać więcej rzeczy.
Czy na serwerze (tam gdzie chcesz wysyłać), stoi jakiś unix? Jeśli tak, to czy masz możliwość wrzucania tam plików i za pomocą jakich protokołów (ssh/scp/sftp, ftp)? Czy masz shella, dostęp do crona? To samo odnośnie własnego kompa...

Opisz jak najdokładniej, bo być może da się to zrobić naprawdę w zupełnie inny sposób...

@wizu: dobrze myślisz: lokalnie Apache, udostępnianie plików i na serwerze pobierać w odstępach minutowych z crona. Tylko po kiego grzyba biblioteki, curl, i do tego jeszcze czasochłonne pisanie programów? Równie dobrze z crona można uruchomić programik o nazwie 'wget', który zrobi dokładnie to, co trzeba. A czas przeznaczony na pisanie (i debugowanie) własnego skryptu przeznaczyć np. na obejrzenie filmu. Lub poprawę skryptu na serwerze smile.gif
Go to the top of the page
+Quote Post
mopsiok
post 11.11.2011, 22:23:09
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.11.2011

Ostrzeżenie: (0%)
-----


Wszystko działa na Windowsie. Powiem szczerze że nie chcę się bawić w Apache, shella (którego i tak nie posiadam) czy crona, bo zależy mi na zastosowaniu zwykłego PHP - rozwiązanie ma być jak najprostsze i wymagać jak najmniej cudowania. Chociaż może to właśnie ja w tym momencie cuduję biggrin.gif. Tak się po prostu zastanawiam czy jest możliwe napisanie takiego prostego programu, który by reagował na pisanie wiadomości na IRCu. Oczywiście mam tu na myśli przekazanie informacji o tym komuś "z zewnątrz", bo gdybym miał to sprawdzić tylko u siebie to by nie było żadnego problemu, i nawet bym się za PHP nie brał (nic co programuję nigdy nie miało żadnego związku z sieciami).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 07:11