[SOLVED][.cgi, octave] Wyświetlanie wykresów z octave za pomocą .cgi.

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
witek23
Sędziwy Jeż
Sędziwy Jeż
Posty: 49
Rejestracja: 31 gru 2008, 11:40
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

[SOLVED][.cgi, octave] Wyświetlanie wykresów z octave za pomocą .cgi.

Post autor: witek23 »

Witam!

To jest część kodu za pomocą, którego skrypt .cgi tworzy stronę www z wykresem z octave. Niestety coś w nim nie działa...

Kod: Zaznacz cały

print "Content-type: text/html\n\n";
print "<HTML><HEAD><TITLE>Odpowiedź</TITLE></HEAD>\n";
print "<BODY>\n";
print "<B>Tekst:</B> $formularz{'dane'} 
\n";
print "</BODY></HTML>\n";
system("octave -q x=[0:1:10]");
chdir("/home/dawid/public_html");
open(UCHWYT, '>', 'plik');
print UCHWYT "$formularz{'dane'}\n";
close UCHWYT;
system("octave -q plik");
system("octave -q plot(x,y)");
system("octave -q print('figure.png')");
system("octave -q replot");
chdir("/home/dawid/public_html");
print "<img src='figure.png' />
\n";
Działanie:
Skrypt powinien działać w następujący sposób: dane z formularza są zapisywane w pliku-> wykonywane są polecenia wysyłane do octave->octave zapisuje wykres w folderze public_html-> wykres jest wyświetlany na stronie www.

Problem:
Wykres nie wyświetla się na stronie, skrypt .cgi generuje następujący kod:
<HTML><HEAD><TITLE>Odpowied??</TITLE></HEAD>
<BODY>
<B>Tekst:</B>

</BODY></HTML>
<img src='figure.png' />
Niby wszystko ok, tylko po kliknięciu na kopiuj źródło obrazka wyskakuje mi, że jest on poszukiwany w katalogu cgi-bin, nie wiem jak go zmienić na public_html, chdir nie pomaga...

Pozdrawiam:)
Awatar użytkownika
leon1313
Zakręcona Traszka
Zakręcona Traszka
Posty: 668
Rejestracja: 02 sty 2006, 19:35
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: KDE Plasma
Architektura: x86

Odp: [.cgi, octave] Wyświetlanie wykresów z octave za pomocą .cgi.

Post autor: leon1313 »

nie wiem, czy to Tobie już pisałem, ale używaj ścieżek bezwzględnych, tu:

Kod: Zaznacz cały

<img src='/home/dawid/public_html/figure.png' />
 
druga kwestia to uprawnienia.
"Poza tym dostałeś PLONKa i zabraniam Ci pisać na te grupe!!! Powiedziałem PLONK i sie zamknij i nawet nie knuj rzeby mi odpisywać! Zabraniam!!!"
witek23
Sędziwy Jeż
Sędziwy Jeż
Posty: 49
Rejestracja: 31 gru 2008, 11:40
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Odp: [.cgi, octave] Wyświetlanie wykresów z octave za pomocą .cgi.

Post autor: witek23 »

Dzięki za odpowiedz!
Zastąpiłem tą linijkę, o której mówił leon1313 czymś takim:

Kod: Zaznacz cały

print "<img src='http://192.168.1.100/dawid/figure.png' />
\n";
I co najważniejsze zmieniłem domyślny katalog z cgi-bin na public_html modyfikując tą linijkę:

Kod: Zaznacz cały

print UCHWYT "x=[-10:0.1:10]\n$formularz{'imie'}\nplot(x,y)\nprint('/home/dawid/public_html/figure.png')\nreplot\n";
I wszystko działa. Wielkie dzięki! Pozdrawiam:)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości