Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> W jaki sposób mogę przesłać między stronami dane typu resource (zasób), przekazywaine w zmiennej zasobu resource
fudddi
post 25.05.2009, 08:50:02
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.05.2009

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


Witam, jestem początkującym programistą, mam następujące pytanie do osób bardziej zaawansowanych ode mnie:

W jaki sposób mogę przekazać z jednej strony do kolejnej dane typu resource, dla podpowiedzi powiem że takie dane generuje mi komenda: ssh2_connect.

Miałem zamiar napisać skrypt łączący sie do shella podtrzymujący sesje a nie taki który wysyłając kolejną komendę do serwera łączy się do niego ponownie dla zilustrowania tego o czym mówię dołączam mój skrypt.

  1. <?php
  2. if (isset($_POST['komenda'])){
  3. $connect = ssh2_connect("193.218.153.116", 22) or die('Blad: nie mozna ustanowic polaczenia\n');
  4. ssh2_auth_password($connect, "login", "haslo") or die('Blad: nie mozna sie zalogowac\n');
  5. $shell = ssh2_shell($connect, 'vt102', null, 80, 70, SSH2_TERM_UNIT_CHARS) or die('Blad: stabilnosci shella\n');
  6. stream_set_blocking($shell, true);
  7. fwrite($shell,$_POST['komenda']."\n");
  8.    $data = '';
  9.    sleep(1);
  10.    $buf = fread($shell,4096);
  11.    $data .= $buf;
  12. fclose($shell) or die('Blad: nie mozna zamknac polaczenia\n'); //zamyka strumień
  13. $x=strpos($data, 'skrypt');
  14. $data=substr($data, $x);
  15. $_POST['dane'] .= $data;
  16. }else{
  17. $_POST['dane'] = 'oczekiwanie na zapytanie ...';
  18. }
  19. ?>
  20. <center>
  21. <table border=40><tr><td>
  22. <textarea rows="20" cols="100" readonly="readonly">
  23. <?php echo $_POST['dane'] ?>
  24. </textarea></tr></td>
  25. <tr><td><form action="" method="POST">
  26. <BR>Wpisz zapytanie:
  27. <input name="komenda" size="78" type="text">
  28. <input name="dane" type="hidden" value="<?echo $_POST['dane']."\n";?>">
  29. <input type="submit" value="Wyslij">
  30. </form></td></tr>
  31. </table>
  32. </center>


P.S.
Nie interesują mnie skrypty napisane w JAVA i JAVA Script ponieważ już mam takowe, jeśli chcesz mi napisać: "Skoro już masz takie to po co Ci skrypt w innym języku programowania??" - to proszę nie udzielaj sie w tym temacie smile.gif

Zmienną którą chce przekazać na inna stronę nazywa się: $connect, próbowałem już wszystkiego ale moje próby zakończyły się fiaskiem ponieważ mogłem przekazywać tylko i wyłącznie dane typu string sad.gif
Go to the top of the page
+Quote Post
deirathe
post 25.05.2009, 08:53:13
Post #2





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

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


Wiesz, bo dane typu resource nie można przesłać. Bynajmniej ja czegoś takiego nie widziałem. Powiedz co chcesz uzyskać, to pomyślimy.


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
fudddi
post 25.05.2009, 08:57:36
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.05.2009

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


1. Chcę tak przebudować ten skrypt aby na jednej sesji przesyłał komendy jakie ja mu podaje.
2. Chce na bieżąco widzieć co wypisuje mi konsola hlds (gry), odpalona w aplikacji screen (Linuxowy programik).
Dziękuję za szybkie zainteresowanie się moim postem smile.gif

Ten post edytował fudddi 25.05.2009, 08:58:08
Go to the top of the page
+Quote Post
Zyx
post 25.05.2009, 09:15:14
Post #4





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Zasoby są automatycznie zamykane przez PHP wraz ze zniknięciem ostatniej wskazującej na nie zmiennej. Jedyny wyjątek to trwałe połączenia z bazą danych, a i one nie służą wcale do "podtrzymywania" sesji, tylko zwiększenia wydajności.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
fudddi
post 25.05.2009, 09:22:13
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.05.2009

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


Czyli jesteś pewien że nie ma takiej możliwości??
Czy po prostu nigdy się z takim czymś nie spotkałeś .. bo to dwie różne rzeczy?!

Jeśli odpowiesz że nie ma takiej możliwości to dam sobie spokój smile.gif
Ale jeśli nie jesteś pewien to napisz mi o tym biggrin.gif
Go to the top of the page
+Quote Post
Zyx
post 25.05.2009, 18:01:00
Post #6





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Nie kurde, przyśniło mi się w nocy. Tłumacz to sobie, jak chcesz, ale nikomu tutaj nie płacą za udzielanie pomocy. Nie wiem, jak inni, ja osobiście nie mam w zwyczaju pisać tylko po to, żeby coś napisać. A jak nie wierzysz, to polecam zajrzenie do dokumentacji, choćby po to, żeby weryfikować odpowiedzi...

http://docs.php.net/manual/en/language.types.resource.php


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
Vengeance
post 25.05.2009, 19:17:32
Post #7





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


Zrób skrypt w ciągłej pętli, while(true) czy inne cudo i komunikuj się z nim za pomocą socketów. Ale ogólnie nie używaj PHP, bo to chyba bez sensu.


--------------------
Go to the top of the page
+Quote Post
bim2
post 25.05.2009, 19:21:59
Post #8





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Wrzuć to w screen i przesyłaj co odświezenie stronki screen id winksmiley.jpg Wtedy podejrzysz.

PS. Nie mój, pomysł. Kilka tematów obok coś gdzieś ktoś pisał ;]


--------------------
Go to the top of the page
+Quote Post
fudddi
post 25.05.2009, 21:06:14
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 25.05.2009

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


Dzięki za wszystkie odpowiedzi:
1. Zyx - nie obrażaj się chciałem tylko się upewnić?!
2. Vengeance - z tą pętlą może być problem ale zobaczymy.
3. bim2 - pomysł dobry, jednak zastrzegłem sobie że nie chce logować się co odświeżenie strony sad.gif

No nic dzięki za pomoc, jeśli skończę skrypt to oczywiście opublikuje go gotowego w ostatnim poscie.
Go to the top of the page
+Quote Post
szagi3891
post 26.05.2009, 16:39:30
Post #10





Grupa: Zarejestrowani
Postów: 109
Pomógł: 9
Dołączył: 12.03.2007
Skąd: kraków/tarnobrzeg/baranów/suchorzów

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


zdaje się że dzięki modułowi "shm" można przechowywać zmienne w pamięci współdzielonej.

http://pl.php.net/shm_get_var

Nie wiem czy przypadkiem za pomocą tego nie można by przechowywać zasobu w pamięci tak aby potem następny skrypt mógł z takiego gotowego zasobu skorzystać. Spróbuję obczaić jak to działa, jeśli mi się uda coś znaleźć to napiszę w tym temacie, jeśli nie to napiszę że mi się nie udało biggrin.gif
Jednym słowem zabieram się za eksperymentowanie smile.gif


--------------------

Każdy z was jest łodzią w której
Może się z potopem mierzyć
Cało wyjść z burzowej chmury
Musi tylko w to uwierzyć!
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: 25.04.2024 - 02:52