• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

PHP - Breite des Fensters auslesen

jens1o

Workaholic
Registriert
28 Juli 2015
Beiträge
644
Alter
23
Diamanten
254
Minecraft
jens1o
Hey,

ich brauche kurz mal Hilfe bei einer kleinen Funktion um die Breite des CLI Fensters auslesen zu können. Das ganze soll aber möglichst auf allen Platformen funktionieren. Das hier ist mein momentaner Ansatz(der aber nur auf Windows geht):
PHP:
<?php


require_once 'global.php';

use jens1o\php_kvv\main\Main;

// init main
Main::getInstance(['disableNormalStartUp' => true, 'debug' => false]);

$output = [];
exec('mode con', $output);
$rows = $output[4] ?? null;
if($rows !== null) {
    $number = explode(':', $rows)[1];
    // remove spaces
    $rows = (int) str_replace(' ', '', $number);
    if(!is_numeric($rows)) {
        $rows = 32;
    }
} else {
    $rows = 32;
}

// Die 5 Zeichen, die subtrahiert werden, sind wegen dem Prefix, der vorne noch angehängt wird.
Main::getLogger()->info(str_pad('WELCOME', ($rows - 5), ' = ', STR_PAD_BOTH));

?>

Weiß jemand, wie ich das auf jedem OS gleich funktioniert? Hab da nichts universelles gefunden.
 

jens1o

Workaholic
Registriert
28 Juli 2015
Beiträge
644
Alter
23
Diamanten
254
Minecraft
jens1o
Das wird nicht funktionieren nur über php.

php ist nämlich eine 'serverside scripting language'. Du müsstest mit JavaScript die Werte auslesen und an den Server senden. (wozu auch immer du sie brauchst).

Javascript:
var screenWidth = window.screen.width;
var screenHeight = window.screen.height;
jQuery.get("somepage.php?width=" + screenWidth + "&height="+screenHeight+);



Und das funktioniert auch mit allen Browsern ;)

Ich will es aber mit PHP, und wie du gemerkt hast mit CLI, das heißt das läuft in der Console.
Ich will die NICHT als Websprache nehmen, sondern in der Console, eigentlich das Hauptmodul von PHP. (apache2-php/nginx-php ist nur eine erweiterung...)

Dein Beitrag ist komplett am Thema vorbei. Hier mal, was ich will.
cli.png

Das unten ist die Ausgabe, genau genommen ein Command Line Interface. Command Line hat damit nichts zu tun. Sonst würde das exec nichts bringen.

Zusätzlich nutzt du einerseits pures JS, ansonsten jQuery... Du müsstest mich darauf ja auch hinweisen ^^
 
Zuletzt bearbeitet:

Inkemann

Braumeister
Registriert
3 Mai 2015
Beiträge
339
Diamanten
301
Minecraft
Inkemann
Das einfachste was mir so einfällt, das auf jeden Fall für Linux gehen sollte:
PHP:
$term_width = exec('tput cols');
$term_height = exec('tput lines');
Eigentlich wäre es für OS X (10.8) auch so, ich musste aber gerade feststellen, dass OS X in meiner VM aus einem mir noch nicht bekannten Grund zwar tput cols aber nicht tput lines zu verarbeiten weiß.
 
Oben