Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4644

Re: CD-Laufwerk mit eject öffnen

From k@rl.pflaesterer.de (Karl Pflästerer)
Newsgroups de.comp.lang.php
Subject Re: CD-Laufwerk mit eject öffnen
Date 2021-01-14 09:02 +0100
Message-ID <m1a6tclzeo.fsf@mbp.pflaesterer.de> (permalink)
References (1 earlier) <554aa77d-345a-40b1-9b1e-e76e1b0c4d9en@googlegroups.com> <rtikrl$klc$1@gioia.aioe.org> <rtiqme$qav$1@gioia.aioe.org> <m1lfcym4x0.fsf@mbp.pflaesterer.de> <rtnc2v$n2q$1@gioia.aioe.org>

Show all headers | View raw


Carlos Naplos <carna@onlinehome.de> writes:

> Am 12.01.2021 um 18:38 schrieb Karl Pflästerer:
>> Carlos Naplos <carna@onlinehome.de> writes:
>>
>>> Am 11.01.2021 um 23:52 schrieb Carlos Naplos:
>>>
>>>
>>>> Einen Schönheitsfehler hat die Sache noch:
>>>>
>>>> Ich rufe das Script aus einem Menü heraus auf:
>>>>       <li><a href="disctoggle.php" target="_blank">Eject</a> </li>
>>>>
>>>> Mit target="_blank" wird jedesmal ein neues Browser-Fenster bzw. -Tab
>>>> geöffnet. Und ich weiß nicht, wie es nach getaner Arbeit wieder automatisch
>>>> geschlossen werden kann.
>>>>
>>>> Mit target="_self" ist dann das Menü weg. Klar mit dem Zurück-Button des
>>>> Browsers ist man schnell wieder dort, aber elegant ist das nicht.
>>>
>>> Ich hab's gefunden:
>>>
>>> 	echo "<script>window.close();</script>";
>>>
>>> schießt das Fenster wieder.
>>>
>>
>> Mache daraus doch einen Button und löse einen XHHTP Request aus. Dann
>> öffnet sich kein Fenster (zum Beispiel). Oder fange den Click event ab.
>> oder ...
>>
>>
> "öffnet sich kein Fenster" wäre super, aber "XHHTP Request" sagt mir nichts.
> Kannst Du das kurz erklären?
>
> Ich habe das in einem Menü:
> 	...
> 	<li><a href="disctoggle.php" target="_blank">Eject</a> </li>
> 	...
>
> disctoggle.php sieht jetzt so aus:
> <?php
> 	shell_exec('eject -v -i 0 cdrom');
> 	shell_exec('eject -v -sT cdrom');
> 	echo "<script>window.close();</script>";
> ?>

Zu XHHTP: Das sollte eigent XHRequest heißen.
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

Zu deinem Skript. Für den Privat gebrauch ist das OK. Trotzdem solltest
du dir angewöhnen auf Fehler zu reagieren. Mit exec() bekommst du
Fehlermeldung und Status des Kommandos. Wenn Status != 0 weißt du das
was falsch war. Dann kann man darauf reagieren (anzeigen. Log schreiben,
...)

Beispiel:

php > var_dump(shell_exec('doesnot exist'));
sh: doesnot: command not found
NULL
php > var_dump(exec('doesnot exist', $res, $ret));
sh: doesnot: command not found
string(0) ""
php > var_dump($res, $ret);
array(0) {
}
int(127)


In $ret steht 127; dann weißt du, das was falsch war (nur wenn dort 0
steht, war der Call erfolgreich). 

Back to de.comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

CD-Laufwerk mit eject öffnen Carlos Naplos <carna@onlinehome.de> - 2021-01-10 16:01 +0100
  Re: CD-Laufwerk mit eject öffnen Matthias P. Würfl <matthias@wuerfl.com> - 2021-01-11 12:58 -0800
    Re: CD-Laufwerk mit eject öffnen Carlos Naplos <carna@onlinehome.de> - 2021-01-11 23:52 +0100
      Re: CD-Laufwerk mit eject öffnen Carlos Naplos <carna@onlinehome.de> - 2021-01-12 01:32 +0100
        Re: CD-Laufwerk mit eject öffnen k@rl.pflaesterer.de (Karl Pflästerer) - 2021-01-12 18:38 +0100
          Re: CD-Laufwerk mit eject öffnen Carlos Naplos <carna@onlinehome.de> - 2021-01-13 18:53 +0100
            Re: CD-Laufwerk mit eject öffnen k@rl.pflaesterer.de (Karl Pflästerer) - 2021-01-14 09:02 +0100
              Re: CD-Laufwerk mit eject öffnen Carlos Naplos <carna@onlinehome.de> - 2021-01-14 21:01 +0100

csiph-web