Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Szukam funkcji w PHP
Forum PHP.pl > Forum > PHP
sawanb03
Witam wszystkich.
Napiszę troszkę o sobie. Jestem studentem 5-ego roku Automatyki i Robotyki w Gliwicach.
W tym roku pisze projekt w php, i z tym właśnie projektem jest związane moje pytanie.
Potrzebuje funkcji, która uruchomi skrypt napisany w języku Fortran, wpisze argumenty(dane wejściowe) podane z pliku i zwróci nam wartości np. do pliku.
Jeżeli komuś pomoże to taką funkcją w Matlabie jest "system" .
Przykład:
system("./phrqpitz dane dane.out >> raport-phrqpitz.txt");
phrgipitz- jest to właśnie ten program w fortranie
dane- wartości wejściowe. Jest to plik , w którym znajduje się np. takie coś
roztwor
0100020000 0 0 0.0
SOLUTION 1
woda testowa
2 0 0 7. 4.0 25. 1.
9 5.946e-02 22 1.189e-01
END

dane.out- wartości wyjściowe. Zapisywane do pliku. Przykład
1 1.022E-09 7.424E-10 7.262E-01
3 9.975E-01 9.975E-01 1.000E+00
8 5.946E-02 1.312E-02 2.207E-01
22 1.189E-01 8.149E-02 6.854E-01
31 2.000E-05 1.350E-05 6.749E-01
>> raport-phrqpitz.txt - dopisuje wyjście do już stworzonego pliku.

Jeżeli, ktoś zna taką lub podobną funkcję w php byłbym bardzo wdzięczny jak by mi ją podał.
Z pozdrowieniami
Dawid Sawielew
marcio
funckje systemowe to exec,system,passthru ale nie wiem czy o nie chodzi

EDIT:literowka biggrin.gif
sawanb03
Nie umiem funkcji systemowej php (konkretnie system()) zastosować do mojego problemu, ale próbuje to obejść, mianowicie:
Używam funkcji system aby odpaliła mi plik pisany w matlabie.
np.
system(octave pitzer.m)

octave- jest to program na serwerze, który obsługuje pliki matlabowskie.
Wszystko pięknie działa, aż do momentu gdy w moim pliku matlabowskim znajdzie się ta komenda, która odpala program napisany w fortranie i zwraca wartości. Konkretnie ta: system("./phrqpitz dane dane.out >> raport-phrqpitz.txt");
W wierszu poleceń na serwerze wszystko pięknie działa, a gdy próbuje odpalić mój plik matlabowski w php nic się nie dzieje.
Tak to odpalam w php:
echo system("cd tmp; octave Pitzer-sys.m");

Zaznaczam, że inne programy matlabowskie nie zawierające funkcji system(matlabowskiej) działają poprawnie z pod php.

Troszkę to zakręciłem, ale mam nadzieję, że zrozumieliście i pomożecie exclamation.gif!

Proszę, sesja się zbliża, a projekt stoi w miejscu ;(
kicaj
http://pl2.php.net/system

Z powodow uczelnianych tez ucze sie Fortrana i chetnie zobaczylbym jakies projekty polaczenia php i fortran, jesli posiadasz...

A nie mozesz poprostu zapytac prowadzacego?
sawanb03
Znam tą stronkę, ale i tak z jej pomocą ciężko.
Mój prowadzący średnio zna się na php i dlatego kazał mi taki projekt zrobić. Jak nikt nie pomoże to będziemy się razem męczyć na konsultacjach biggrin.gif
A to nie jest połączenie fortrana i php. Tylko program do oblicznia współczynnika aktywności jest napisany w fortranie i każdy sie go boi przerobić na jakiś inny język bo to jest kosmos. Ja nawet nie otwieram tego pliczku z fortranem biggrin.gif
I dlatego jest potrzebna mi jakaś funkcja która odpali ten program z pod php i wyrzuci wyniki do jakiejs zmiennej smile.gif
funkcje posiadam, ale teraz nie wiem jak jej użyć. Nie jestem orłem z programowania.

PS. Jeśli chcesz to mogę ci wysłać tego fortrana smile.gif

Nie bede zakładał nowego tematu, więc tu napisze następny problem.
Ma w pliku tekstowym zapisane jakieś dane i teraz ze zmiennej tekstowej chce je przerobić na liczbę. Znowu się posłuże matlabowskim kodem
Linia = 0;
[fid1, msg] = fopen ('dane.out', 'r');

ciag = fgetl(fid1);
while(ischar(ciag))
Linia= Linia+1;
ciag1= str2num(ciag);
ciag2=ciag1(: , 1);
Jon (Linia) = ciag2;
ciag2=ciag1(: , 2);
Molalnosc(Linia) = ciag2;
ciag3=ciag1(: , 3);
Aktywnosc(Linia) = ciag3;
ciag4=ciag1(: , 4);
WspAkt (Linia) = ciag4;

ciag = fgetl(fid1);
end

Potrzebuje konkretnie tej funkcji ciag1= str2num(ciag);
Załóżmy ze plik ciąg jest taki ciag= "1 3 4 5 6" i to jest jako tekst w jednym iwerszu. Funkcja str2num zamienia to na
ciag=[1 3 4 5 6] gdzie poszczególne liczby są w oddzielnych wierszach,.
Pomóżcie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.