Misiuu
28.01.2012, 20:02:38
Witam, mam tylko małe pytanie, czy istnieje jakaś możliwość wpisywania komend CMD w php, tzn, żeby to nie było tylko polecenie i wynik, ale bardziej złożone funkcje. Typu, telnet->o->i sie łączy z czymś, chodzi mi o takie drzewko komend każda po jakieś..
dało by sie zrobić to jakoś na if'ach ?
Carter
28.01.2012, 20:58:42
Misiuu
29.01.2012, 22:18:04
No własnie patrze sobie ale nie ogarniam,
da sie zrobić by połączyć się w php z FTP ? za pomoca własnie cmd ? czyli komenda FTP -> o ->ftp.cos.pl -> uzytkownik -> hasło ->jakś komenda ?
webdice
29.01.2012, 22:30:17
Przy większości komend, parametry możesz podać w jednym wierszu. Wpisz sobie:
Kod
telnet /?
ftp --help
Misiuu
29.01.2012, 22:41:55
a czy działały by komendy zmiany hasła ? albo , przerzucania pliku, z jednego folderu do drugiego , lub tez wpisanie ścieżki do uploadu?
webdice
29.01.2012, 22:47:47
Zakładam że nie przeczytałeś tego co napisałem. Tak więc wpisz sobie w konsoli ftp --help i zobacz co dokładnie tam pisze, a w szczególności zwróć uwagę na przełącznik s.
PS. Nie zaczynamy zdania od a, a o wielkości liter już nie wspomnę.
Misiuu
29.01.2012, 22:51:06
Przepraszam za moją składnie , już sie poprawiam, tak to jest jak trzymasz kanapkę w jednej dłoni. Zwróciłem uwagę ale w tym nie ma, by wpisać użytkownika i hasło, do FTP. jest tylko -a jako logowanie sie anonimowo , skąd skrypt bedzie wiedział co wpisać by sie zalogować ?
webdice
29.01.2012, 22:56:35
Plik
c:\ftp.txtKod
użytkownik
hasło
komenda 1
komenda 2
Kod
ftp -s:c:\ftp.txt host
Smacznego.
Misiuu
29.01.2012, 23:05:23
owszem działa, ale czy plik ftp.txt może sie znajdować na serwerze www ? pod jakimś adresem ip np.
webdice
29.01.2012, 23:16:12
Nie, tylko na dysku lokalnym.
Misiuu
29.01.2012, 23:27:01
Dało by sie zrobić połączenie ftp bez tego pliku, tzn, na samym jednym wiersz w którym wpisze uzytkownika i hasło ?
webdice
29.01.2012, 23:31:38
Cytat(Misiuu @ 29.01.2012, 23:27:01 )

Dało by sie zrobić połączenie ftp bez tego pliku, tzn, na samym jednym wiersz w którym wpisze uzytkownika i hasło ?
Nie Windowsowym programem. Zakładam że masz problem z brakiem pliku na dysku komputera z którego inicjowane jest połączenie FTP. Skoro masz dostęp do konsoli, to taki plik możesz sobie utworzyć.
Kod
touch c:\ftp.txt && echo treść pliku > c:\ftp.txt
Misiuu
29.01.2012, 23:39:28
Gdy tak robie , wyskakuje ze touch i reszte wyświetla mi komunikat iż, komenda jest nierozpoznawalna.
webdice
29.01.2012, 23:52:09
Poszukaj jak w Windowsie tworzy się nowy plik, nie czekaj na gotowe.
Misiuu
30.01.2012, 00:02:14
ok znalazlem cos takiego
Cytat
echo text >>c:\ftp.txt
czy dało by sie wykonać takie polecenie z poziomu strony www ?
gdy wpisuje
<?php system("echo text >>c:\text.txt"); ?>
to nie działa.
strife
30.01.2012, 00:20:52
Cytat(Misiuu @ 30.01.2012, 00:02:14 )

ok znalazlem cos takiego
czy dało by sie wykonać takie polecenie z poziomu strony www ?
gdy wpisuje
<?php system("echo text >>c:\text.txt"); ?>
to nie działa.
Zobacz co zwraca Ci to co napisałeś najpierw.
Misiuu
30.01.2012, 00:29:28
hmmm nie wiem czy dobrze myśle, ale
string system ( string $command [, int &$return_var ] )
$command jaką tu komende wstawić ? skoro gdy w cmd wpisze "echo test >>c:\plik.txt" to zadziała, hmm nie wiem czy w tym jest jakaś komenda
może jakos bardziej mi to podsuniesz ?
strife
30.01.2012, 00:34:31
Cytat(Misiuu @ 30.01.2012, 00:29:28 )

hmmm nie wiem czy dobrze myśle, ale
string system ( string $command [, int &$return_var ] )
$command jaką tu komende wstawić ? skoro gdy w cmd wpisze "echo test >>c:\plik.txt" to zadziała, hmm nie wiem czy w tym jest jakaś komenda
może jakos bardziej mi to podsuniesz ?
Pisałem o tym, abyś przerobił swój kod analogicznie do tego co jest napisane na php.net. Czyli przypisać do system() zmienną:
$output = system("echo text >>c:\text.txt"); var_export($output); // zobaczymy co wyswietli linia polecen ?>
Wtedy będziesz wiedział, czemu się plik nie tworzy bo pewnie zobaczymy jakiegoś rodzaju błąd.
webdice
30.01.2012, 00:50:08
Zakładam że chodzi o zmienne środowiskowe.
ShadowD
30.01.2012, 01:26:58
Jeśli chcesz operacje na ftp to php ma do tego jakieś funkcje i wcale nie potrzebujesz pośrednika w kształcie cmd, poczytaj tutaj -
http://webhosting.pl/Tworzymy.wlasnego.kli...TP.w.jezyku.PHP
Oczywiście jesteś w 100% pewien, że tam gdzie wrzucasz plik PHP (serwer), pracuje Windows, a nie Linux/Unix, że próbujesz tam uruchomić Windowsowe komendy? Komendy na Win (a na pewno część z nich) różnią się od tych w Linuxach. Upewnij się na jakim środowisku jest ten Twój plik PHP uruchomiony. A co do FTP:
http://php.net/ftp
Misiuu
30.01.2012, 14:40:26
wyświetliło mi tylko,
Cytat
"
:/ tak wiem, ale ja potrzebuje to zrobić na cmd
tak, działa

: D zamiast c:\plik.txt dałem c:/plik.txt i teraz działa jak ta lala : D dzięki za pomoc !
Coyot121
22.11.2012, 19:35:08
Witam, nie chcę tworzyć nowego tematu więc zapytam tu.
chcę stworzyć backup bazy danych postgresowej. przygotowałem sobie skrypt. działa z linii komend, dodałem sobie go do pliku bat, odpala się i tworzy plik z backupem. problem pojawia się, gdy chcę do odpalić z poziomu php
zawartość pliku .bat
Kod
start pg_dump -s -Uwww -f C:/xampp/htdocs/projekt/media/files/backup/schemat/schema.sql baza_115
próbowałem to odpalić:
Kod
exec('start pg_dump -s -Uwww -f C:/xampp/htdocs/projekt/media/files/backup/schemat/schema.sql baza_115');
exec('cmd start pg_dump -s -Uwww -f C:/xampp/htdocs/projekt/media/files/backup/schemat/schema.sql baza_115');
exec('cmd pg_dump -s -Uwww -f C:/xampp/htdocs/projekt/media/files/backup/schemat/schema.sql baza_115');
system('start pg_dump -s -Uwww -f C:/xampp/htdocs/projekt/media/files/backup/schemat/schema.sql baza_115');
system('cmd start pg_dump -s -Uwww -f C:/xampp/htdocs/projekt/media/files/backup/schemat/schema.sql baza_115');
system('cmd pg_dump -s -Uwww -f C:/xampp/htdocs/projekt/media/files/backup/schemat/schema.sql baza_115');
passthu(); z tym też kombinowałem bez skutecznie
rezultat to 1 lub zmulenie strony.
Dodam jeszcze, że strona działa na kohanie 2.3.4 jeśli ma to jakieś znaczenie.
jakieś sugestie czemu się nie uruchamia?
dodam, że po naciśnięciu bata plik z bazą tworzy się do 6 sekund
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.