Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #4644
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar
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