ugrás a tartalomhoz

értékvisszaadás exit-el

kalamona · 2002. Szep. 14. (Szo), 00.59
Sziasztok!

Irtam egy szkriptet, amely futtat egy masikat, ez fut, majd exit 0-val, vagy -1 -el stb-vel kilép. (igy jelzi, hogy sikeresen tevékenykedett-e vagy sem) Ettol a visszaadott értékt?l függ?en kéne nekem üzenetet megjeleniteni.
Tudja valaki, hogy az exit által vissza adott hibakódot, hogy lehet vizsgálni?
 
1

Re: értékvisszaadás exit-el

bbalint · 2002. Szep. 20. (P), 15.19
haj!

egy.php
<?php
print(basename(__FILE__).' lefutkározott...<br />');
if(isset($_GET['hulye_vagyok_checkbox']))
return('userhülye');
return('userokos');
?>
ket.php
<?php
if(include('egy.php') == 'userhülye')
print(' a felhasználó hülye.');
else
print(' a felhasználónemhülye.');
?>

valami ilyesmire gondoltál?

amúgy nézd meg a phpdoksit, mert abban le van írva, hogy a exit() függvény megszakítja a script futását is.

--bbalint
2

Re: értékvisszaadás exit-el

kalamona · 2002. Szep. 20. (P), 16.52
Köszi a tanácsot, ám nem ilyen 1x? az ügy. (Természetesen tudom, hogy exit-re megszakad a scrpit futása)
Arról lenne szó hogy kézhez kaptam egy csomó php scriptet, ezekhez kellene, egy átfogó kezel?felületet készítenem (eresetileg parancssorbol futottak egy interpreter segitsegevel), ezekben a scriptekben vannak ilyenek:
exit -1;
exit 0;
attol fuggoen, hogy hogy hibaval lépett-e ki. stb. A feladatom szerint ha a script futtatás után -1 el tér vissza, hibaüzenetet kéne megjelenítenem... (a scriptek outputját pedig mindenképp ki kell iratnom. Viszont a tartalmukat nem változtathatom meg.)

Úgy tudtam, hogy exit-el nem lehet értéket
visszaadni. Pedig ezekben a scriptekben úgy tünik ezt csinálták. A scriptek egyébként jól m?ködnek, a php nem szól a exit -1; miatt.

Most akkor mivan?? Megoldható a dolog? Vhogy mégis le lehet kérdezni a exit utáni értéket?
estleg vmi el?re definiált globális változóval?
SOS! SOS! :(
3

Re: értékvisszaadás exit-el

parhuzamos · 2002. Okt. 2. (Sze), 15.01
Lehet, hogy igy meg tudod oldani a dolgot:

valami.bat:

@echo off
c:\php\php.exe -q filenev_azaz_amit_futtatni_kell.php
if errorlevel 1 echo valami baj volt.
...

PHP 4.2-ben a visszateresi ertkei az exit()-nek 0 vagy 255 (ha jol emlekszem). Ha nagyobbat adsz az exit()-nek, mint nulla, akkor 255-ot kapsz a batch file-ban.
Pelda az exit()-re:

echo('minden ok'); exit(0);
vagy
echo('jaj, hiba van'); exit(1);

Az igaz, hogy nem teljesen PHP de megoldas lehet a problemadra.