Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] konsola - problem z porownywaniem zmiennych z wejscia
Forum PHP.pl > Forum > PHP
Arthast
Witam,

ostatnio postanowilem sie troche pobawic i rozszerzyc swoje horyzonty o wykorzytanie php w pisaniu aplikacji, jednak natknolem sie na bardzo glupi (i jak zapewne sadze, dosyc lakoniczny problem, ktory pewnie rozbija sie o kodowanie znakow badz cos w tym rodzaju). Ale do rzeczy:

  1. #!/usr/bin/php
  2.  
  3. <?php
  4.  
  5. $zmienna1 = fgets(STDIN);
  6. $zmienna2 = fgets(STDIN);
  7. echo strlen($zmienna1);
  8.  
  9. if ($zmienna1 == "cos")
  10. {
  11. echo "dziala";
  12.  
  13. }
  14.  
  15. echo "\n\n".$zmienna1;
  16.  
  17. ?>


wszystko ladnie, tylko ze jak odpalam na linuxie w terminalu ten skrypt, wpisuje "cos" to funkcja strlen pokazuje mi, ze ten ciag zawiera 4 znaki.. przez co if nie jest wykonywany. Pewnie nalezy jakos zinterpretowac ciag znakow podawanych z konsoli - tylko pytanie jak?

dziekuje z gory za podpowiedz!
Crozin
Czy aby przypadkiem zmienna $zmienna1 nie ma na końcu znaku nowej linii (\n)?
Arthast
Faktycznie - myslalem, o tym, ale wydawalo mi sie ze to sa dwa znaki. Dzieki za nakierowanie winksmiley.jpg

a teraz jeszcze inne pytanie - czy odpalac skrypt na powloce przez "php plik.php" mozna dodac jakos parametry? np. ""php plik.php zmienna-cos" ? czy w innej formie to sie podaje, czy tez w ogole nie ma takiej mozliwosci?
Crozin
Cytat
Faktycznie - myslalem, o tym, ale wydawalo mi sie ze to sa dwa znaki. Dzieki za nakierowanie winksmiley.jpg
*nix: \n, Mac: \r, Windows: \r\n
Cytat
a teraz jeszcze inne pytanie - czy odpalac skrypt na powloce przez "php plik.php" mozna dodac jakos parametry? np. ""php plik.php zmienna-cos" ? czy w innej formie to sie podaje, czy tez w ogole nie ma takiej mozliwosci?
Wywołanie w takiej formie jaką podałeś plus dwie zmienne: $argv, $argc.
erix
Cytat
Faktycznie - myslalem, o tym, ale wydawalo mi sie ze to sa dwa znaki. Dzieki za nakierowanie

W sumie, to nie trzeba się nad tym zastanawiać - trim na parametrze wystarczy.

Poza tym, przyda Ci się: getopt.
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.