Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> FIFO oraz PHP, .... czyli jak sprawdzać czy można zapisać?
kiler129
post
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Witajcie!
Siedze od wczoraj nad zdawało by się prostym killkulinijkowym kodem mającym za zadanie kontrolować mplayera.

  1. <?php
  2. //Mplayera odpalamy tak:
  3. //mplayer -ao alsa -quiet -slave -input file=/root/mplayerCtrl /tmp/plik.mp3 >/root/mplayerOut
  4.  
  5. $ctrlF = '/root/mplayerCtrl'; //Fifo
  6. $outF = '/root/mplayerOut'; //Zwykly plik
  7.  
  8. $cfp = fopen($ctrlF, "w");
  9. fclose(fopen($outF, "w+")); //Czyscimy z poprzednich smieci outfile
  10. fwrite($cfp, $argv[1]."\n");
  11.  
  12. while(empty($r))$r=file_get_contents($outF); //Mplayer zwraca z opznieniem totez czasmi trzba zaczekac
  13. echo $r."\n";
  14. ?>


I skrypt niestety nie działa - zawiesza się zazwyczaj przy fwrite. Jedyne co udało mi się zmusić do działania to poniższy kod:

  1. <?
  2. $ctrlF = '/root/mplayerCtrl';
  3. $outF = '/root/mplayerOut';
  4.  
  5. $mpst=shell_exec('ps u -C "mplayer" | grep "mplayer"'); if(empty($mpst))die;
  6. echo "Clean out file\n";
  7. fclose(fopen($outF, "w+")); //Open, erase, close
  8. echo "Send cmd '".$argv[1]."'\n";
  9. shell_exec("echo ".$argv[1]." > $ctrlF");
  10. echo "Read response\n";
  11. while(empty($r))$r=file_get_contents($outF);
  12. echo $r."\n";
  13. echo "Done\n\n";
  14. ?>

Ale chyba każdy widzi, że jest ekhem ... do kitu smile.gif Chcę to zrobić za pomocą php - bez execów.

Ten post edytował kiler129 2.12.2010, 12:57:32


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 06:28