Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dość nietypowe otwieranie pliku
mopsiok
post
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 (IMG:style_emoticons/default/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
 
Start new topic
Odpowiedzi (1 - 4)
wizu
post
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 (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
mopsiok
post
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ł (IMG:style_emoticons/default/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ł? (IMG:style_emoticons/default/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
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mopsiok
post
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ę (IMG:style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 19:40