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
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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
deirathe
post
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.
Go to the top of the page
+Quote Post
fudddi
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował fudddi 25.05.2009, 08:58:08
Go to the top of the page
+Quote Post
Zyx
post
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.
Go to the top of the page
+Quote Post
fudddi
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ale jeśli nie jesteś pewien to napisz mi o tym (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Zyx
post
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
Go to the top of the page
+Quote Post
Vengeance
post
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
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Jednym słowem zabieram się za eksperymentowanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 19.09.2025 - 18:42