Joopi

Normale Version: vardump() auswerten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Das Debuggen von Programmcode habe ich nie richtig wahrgenommen und gelernt. In VBA kann ich das mittlerweile einsetzen, bei PHP habe ich wieder mal so meine Probleme. Nun weiß ich aber, dass ich mit var_dump() durchaus gute Erkenntnisse erzielen kann, wenn mal wieder etwas nicht funktioniert.

Insbesondere bei der Nutzung von Arrays und deren Inhalte kann ich überprüfen, ob ich die richtigen Ergebnisse erwarten kann.

Bei der Ermittlung der Breite eine Videos, welches über ein Array via GET als Link aufzurufen wurde, hatte ich Probleme, dass Ergebnis der Shell-EXEC in eine Variable zu bekommen. Durch var_dump() erst habe ich geschnallt, dass ich es mit einem Array zu tun hatte.

Und zwar habe ich den Inhalt von $_GET mittels var_dump() ausgewertet:

PHP-Code:
<?php
    var_dump
($_GET);
?>

Das Ergebnis war:

PHP-Code:
<?php
    
array(1) { ["video"]=> string(72"/TM2_1/serien/wilsberg/wilsberg_24_interne_affaeren_2008-zp7ayygia5q.mp4" }
?>

Damit war klar, dass ich ein Array als Ergebnis erhalten hatte. Wie aber nun das Ergebnis für meine Zwecke nutzen. Der komplette String aus Ordner und Dateiname sollte in dem Shell-EXEC-Statement als Variable genutzt werden, um die Breite zu ermitteln.

Eher durch Zufall wurde mir klar, dass in dem Array nur ein Element enthalten war - nämlich video.

Und wie ich gesehen konnte, wurde video in dem Tag für den HTML-Player als Variable für den source-Tag genutzt:

PHP-Code:
<?php
    
<source src=<?php echo $video?> type="video/mp4">
?>

Und damit war dann klar, dass ich für den absouten Dateinamen nun eine Variable $video würde nutzen können:

PHP-Code:
<?php
    $breite 
shell_exec("ffprobe -v error -select_streams v:0 -show_entries stream=width -of csv=s=x:p=0 " $video);
?>

Der Inhalt der Variablen $video war in diesem Falle:

PHP-Code:
<?php
    
/TM2_1/serien/wilsberg/wilsberg_24_interne_affaeren_2008-zp7ayygia5q.mp4
?>

Damit konnte ich die Breite nun in den HTML-Tag für den Player bei width einsetzen.

Der in den eckigen Klammern eines Arrays stehende Wert, ist die zu nutzenden Variable für die weitere Verwendung im Programmcode.