Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 1
» Neuestes Mitglied: Joopi
» Foren-Themen: 452
» Foren-Beiträge: 628

Komplettstatistiken

Benutzer Online
Momentan sind 8 Benutzer online
» 0 Mitglieder
» 5 Gäste
Bytespider, DotBot, bot

Aktive Themen
Thursday - 09:00 CDT: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Vor 57 Minuten
» Antworten: 0
» Ansichten: 0
Thursday - 07:00 CDT: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Vor 2 Stunden
» Antworten: 0
» Ansichten: 0
Thursday - 02:00 CDT: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Vor 8 Stunden
» Antworten: 0
» Ansichten: 1
Wednesday - 23:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Vor 11 Stunden
» Antworten: 0
» Ansichten: 1
Wednesday - 16:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Heute, 12:50
» Antworten: 0
» Ansichten: 3
Wednesday - 12:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 08:53
» Antworten: 0
» Ansichten: 1
Zahnverzapfung herstellen...
Forum: Antiheimwerker
Letzter Beitrag: Joopi
Gestern, 07:25
» Antworten: 0
» Ansichten: 2
Holzdübel bei Gehrung set...
Forum: Antiheimwerker
Letzter Beitrag: Joopi
Gestern, 07:06
» Antworten: 0
» Ansichten: 2
Abrichten mit der Ober-/K...
Forum: Antiheimwerker
Letzter Beitrag: Joopi
Gestern, 06:52
» Antworten: 0
» Ansichten: 2
Wednesday - 10:00 CDT: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 06:49
» Antworten: 0
» Ansichten: 1

 
  PhpMyAdmin Datenbank importieren
Geschrieben von: Joopi - 07-01-2023, 11:34 - Forum: Linux - Keine Antworten

Um normalerweise in PHPMyAdmin eine Datenbank zu importieren, muss die Datenbank bekannt sein.

Man kann aber in der sql-Datei nach dem Eintrag -- Datenbank: `dbname`  einfach die Datenbank erstellen (create) und in Benutzung (use)nehmen:

Zitat:-- Datenbank: `testdb`
--

CREATE DATABASE `testdb2`;
use `testdb2`;

Drucke diesen Beitrag

  PhpMyAdmin - Fehlermeldungen
Geschrieben von: Joopi - 07-01-2023, 11:32 - Forum: Linux - Keine Antworten

Code:
cd /var/lib
sudo chmod -R 775 phpmyadmin/` this set read and write file permission.

Die  Fehlermeldung mit dem blowfish-secret konnte ich durch die Berechtigungsänderung und die config.inc.php in /usr/share/phpmyadmin lösen.

Der Fehler mit dem TempDir konnte ich insofern lösen, dass die Eigentumszuordnung falsch war:

Code:
user@rechner:/var/lib$ cd phpmyadmin/ 
user@rechner:/var/lib/phpmyadmin$ ls -l 
insgesamt 8 
-rwxrwxr-x 1 root     www-data   68 Nov 19 19:23 blowfish_secret.inc.php 
drwxrwxr-x 2 www-data www-data 4096 Mär 31  2020 tmp

user@rechner:/var/lib/phpmyadmin$ sudo chown user:user tmp/ 
user@rechner:/var/lib/phpmyadmin$ ls -l 
insgesamt 8 
-rwxrwxr-x 1 root www-data   68 Nov 19 19:23 blowfish_secret.inc.php 
drwxrwxr-x 3 user user   4096 Nov 19 19:44 tmp 

user@rechner:/var/lib/phpmyadmin$ sudo chown root:user blowfish_secret.inc.php 
user@rechner:/var/lib/phpmyadmin$ ls -l 
insgesamt 8 
-rwxrwxr-x 1 root user   68 Nov 19 19:23 blowfish_secret.inc.php 
drwxrwxr-x 3 user user 4096 Nov 19 19:44 tmp

Drucke diesen Beitrag

  Zufallszahl nutzen
Geschrieben von: Joopi - 07-01-2023, 11:25 - Forum: Programmieren - Keine Antworten

Heute hatte ich mal wieder eine Sache, bei der ich Dateinamen erstellen musste. Zur Differenzierung konnte ich keine abstrakten Dateinamen erstellen, sondern hatte eine feste Vorgabe. Damit dennoch individuelle Dateinamen erstellt werden konnten, habe ich die Möglichkeit der Zufallszahl genutzt.

Mit folgendem Befehl wird eine Zufallszahl im Bereich von 10000 bis 99999 ermittelt und in eine Variable geschrieben:

PHP-Code:
<?php
    $zufallszahl 
rand(1000099999);
?>

Diese Variable kann dann im weiteren Code verwendet werden.

Drucke diesen Beitrag

  Zeitstempel erstellen
Geschrieben von: Joopi - 07-01-2023, 11:25 - Forum: Programmieren - Keine Antworten

Um in PHP einen Zeitstempel zu erstellen, der im Frontmatter eine MarkDown-Datei in Hugo genutzt werden kann, ist folgende Syntax notwendig:

PHP-Code:
<?php
    
// setlocale(LC_ALL,'de');
    echo strftime('%Y-%m-%dT%H:%M:%S%z');
?>

Der Aufruf dieses sehr kurzes Scripts, erzeugt folgende Ausgabe:

Zitat:2021-10-12T20:37:11+0200

Diese Formatierung wird eben in MarkDown-Dateien benötigt, aus denen später in Hugo statischen HTML-Seiten erstellt werden. Das Datum dient der Sortierung.

Die Vorgabe aus dem Theme bzw. von Hugo ist eigentlich diese Schreibweise:

Zitat:2021-10-12T20:37:11+02:00

Nach einigen Tests und Betrachtung der HTML-Quelltexte kann ich nicht feststellen, dass es Unterschiede in der Verarbeitung gibt.

Drucke diesen Beitrag

  Zeilenumbruch entfernen
Geschrieben von: Joopi - 07-01-2023, 11:23 - Forum: Programmieren - Keine Antworten

Es gibt verschiedene Methoden, um unerwünschte Zeilenumbrüche aus einem Text zu entfernen. Ein für mich sehr gutes Vorgehen ist es, die möglichen Zeilenbrüche in einem Array aufzuführen und damit dann einen Ersetzen-Code zu formulieren:

PHP-Code:
<?php
    $stringtext 
str_replace(array("\r\n","\n","\r"),"",$stringtext);
?>

Die Zeilenumbrüche sind meist unsichtbar, daher kann durchaus alles bekannten Steuerzeichen in das Array aufgenommen werden.

Drucke diesen Beitrag

  vardump() auswerten
Geschrieben von: Joopi - 07-01-2023, 11:22 - Forum: Programmieren - Keine Antworten

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.

Drucke diesen Beitrag

  Datenbanken sichern
Geschrieben von: Joopi - 07-01-2023, 11:16 - Forum: Programmieren - Keine Antworten

Die Sicherung von Datenbank, MyIsam und/oder InnoDB, ist wichtig. MyIsam-Datenbanken können über deren Dateien gesichert werden, die (unter Debian) in /var/lib/mysql abgelegt werden. Das gilt nicht für InnoDB-Datenbanken.

Darum ist es sehr wichtig, dass von den Datenbanken sogannte Dumps gemacht werden. Dumps sind im Prinzip Sicherungen als Textdatei im sql-Format. Diese können bei Bedarf genauso wieder eingelesen werden.

Es gibt verschiedene Möglichkeiten der Sicherungsstrategie. Man kann einen Gesamtdump machen oder vielleicht eine Gruppe von Datenbanken zusammenfassen oder eben nur einzelne Datenbanken sichern. Die Befehle dazu, die über die Konsole abgesetzt oder in einem Script hinterlegt werden, sind nachfolgend beschrieben.

Sicherung einer einzelnen Datenbank mit Mitgabe des Passwortes:

Code:
user@rechner:~$ mysqldump -u user -h localhost --password="pwd" datenbank > one_database.sql

Sicherung mehrerer Datenbanken mit Mitgabe des Passwortes:

Code:
user@rechner:~$ mysqldump -u user -h localhost --password="pwd" --databases datenbank1 datenbank2 datenbank3 > several_databases.sql

Sicherung aller Datenbanken mit Mitgabe des Passwortes:

Code:
user@rechner:~$ mysqldump -u user -h localhost --password="pwd" --all-databases --events > all_databases.sql

Ich lasse jeden Abend über einen Cronjob von jeder Datenbank einen Dump erstellen, der dann als ZIP-Datei auf die Backup-Festplatte mit Datumsangabe im Dateinamen verschoben wird. Eine Sicherung in meiner Cloud werde ich mir noch überlegen, da ich auch eine Methode finden muss, wie ich ältere Sicherungen automatisiert löschen kann. Ansonsten mülle ich mir nach und nach die Cloud mit unnötigen Dateien voll.

Drucke diesen Beitrag

  Shellscript aufrufen
Geschrieben von: Joopi - 07-01-2023, 11:13 - Forum: Programmieren - Keine Antworten

Innerhalb eines PHP-Codes kann ein ausführbares Shellscript ausgeführt werden. Das geht mit shell_exec.

PHP-Code:
<?php
    $user 
shell_exec("id");
    echo "$user";
    $berechtigung shell_exec("ls -l mache_irgendwas.script");
    //funktioniert nur so (ohne ls -l):
    $berechtigung shell_exec("mache_irgendwas.script");
    echo "$berechtigung";
?>

In einem Shellscript habe ich Funktionen eingebaut, die Bilder renamen und resizen. Zwar bestehen diese Möglichkeiten auch innerhalb von PHP, aber ich benötige das Shellscript auch zu anderen Gelegenheiten. Daher wollte ich das Rad nicht neu erfinden.

Es mag sein, dass der geneigte PHP-Coder kurz vor einem Herzklabaster steht. Ich nutze das aber ausschließlich auf dem lokalen Rechner. Mir genügt es so und ich bin froh zu wissen, dass man überhaupt Shellscripte im PHP-Code integrieren kann.

Drucke diesen Beitrag

  Primäre Angaben zu Pfad und Datei
Geschrieben von: Joopi - 07-01-2023, 11:12 - Forum: Programmieren - Keine Antworten

Um Informationen zu einem Pfad und/oder einer Datei zu erhalten, wird in PHP die Funktion PATHINFO benutzt. In meinen Lernbeispielen habe ich bislang zwei verschiedene Arten der Anwendung gefunden. Die eine erzeugt ein Array, die andere nutzt eine Variable, die einen String auf nimmt und dann ein Array daraus macht. Oder so ähnlich. Besser kann ich es nicht erklären.

Das erste Beispiel erzeugt ein Array mit 4 Elementen:

PHP-Code:
<?php
    $dateiteile 
pathinfo("/media/work_bilder_decode/zz_temp/105b34dd5.jpg");

    echo "Das ist der erste Teil der Ausgabe:\n\n";

    echo "Pfad ohne Datei: " $dateiteile['dirname'], "\n";
    echo "Dateiname komplett: " $dateiteile['basename'], "\n";
    echo "Extension: " $dateiteile['extension'], "\n";
    echo "Dateiname ohne Extension: " $dateiteile['filename'], "\n";
?>

Die Ausgabe hier ist:

Zitat:Das ist der erste Teil der Ausgabe: 
  
Pfad ohne Datei: /media/work_bilder_decode/zz_temp 
Dateiname komplett: 105b34dd5.jpg 
Extension: jpg 
Dateiname ohne Extension: 105b34dd5

Das zweite Beispiel nimmt die Pfad-/Dateiangabe in eine String-Variable auf und wird erst später bei der Übernahme der 4 Bestandteile mit der **PATHINFO**-Funktion bestückt. Der Code sieht dann wie folgt aus:

PHP-Code:
<?php
    $dateiteile2 
"/media/work_bilder_decode/zz_temp/105b34dd5.jpg";

    $dir pathinfo($dateiteile2PATHINFO_DIRNAME);
    $base pathinfo($dateiteile2PATHINFO_BASENAME);
    $ext pathinfo($dateiteile2PATHINFO_EXTENSION);
    $datei pathinfo($dateiteile2PATHINFO_FILENAME);

    echo "Das ist der zweite Teil der Ausgabe:\n\n";

    echo "Pfad ohne Datei: " $dir .  "\n";
    echo "Dateiname komplett: " $base .  "\n";
    echo "Extension: " $ext .  "\n";
    echo "Dateiname ohne Extension: " $datei .  "\n";
?>

Die Ausgabe zu dieser Codierung sieht dann so aus (nicht anders als oben).

Zitat:Das ist der zweite Teil der Ausgabe: 
  
Pfad ohne Datei: /media/work_bilder_decode/zz_temp 
Dateiname komplett: 105b34dd5.jpg 
Extension: jpg 
Dateiname ohne Extension: 105b34dd5

Welche Art der Codierung später mal genutzt werden soll oder muss, hängt wohl davon ab, was man eigentlich erreichen möchte. Da beides zum gleichen Ergebnis führt, ist es vielleicht egal. Das wird sich später mal herausstellen müssen.

Im Moment bin ich froh, dass ich das endlich verstanden habe und nun auch anwenden kann. In Verbindung mit Dateilisten, die mittels Array bearbeitet werden, könnte diese neue Erkenntnis für meine Programmiervorhaben sehr von Vorteil sein.

Die einfache Anwendung von Arrays habe ich mitterweile auch einigermaßen gut verstanden.

Drucke diesen Beitrag

  mehrere Dateien löschen
Geschrieben von: Joopi - 07-01-2023, 11:09 - Forum: Programmieren - Keine Antworten

Das Löschen von Dateien in der Konsole kann relativ einfach mit rm erfolgen. Dieser Befehl steht für remove.

Will man mehrere Dateien löschen, die z.B. alle die Extension txt haben, so ist der Befehl rm *.txt anwendbar.

In einem PHP-Skript ist der Befehl unlink zum Löschen einer Datei aufzurufen. Allerdings kann man nicht, wie es in der Konsole möglich ist, einfach mehrere Dateien löschen, indem man so vorgeht wie beim Shellbefehl.

Um in einem Ordner mehrere Dateien zu löschen, die z.B. alle die Extension .md haben, ist folgende Codezeile im Skript notwendig:

PHP-Code:
<?php
    array_map
('unlink'glob"/home/tuennes/*.md"));
?>

Damit werden alle Dateien in dem vorgegebenen Ordner gelöscht, die die Extension .md haben.

Zitat:glob — Findet Dateinamen, die mit einem Muster übereinstimmen

Drucke diesen Beitrag