Variable oder nicht Variable beim mysqldump = leere oder volle Datenbank???

Super, dass Du die Lösung gefunden hast! Ich frage mich nur, warum dieser Zeilenumbruch in der Ausgabe mit var_dump nicht sichtbar wurde.
 
Da es sich wohl nur um eine Zeile in der Datei handelt, fällt der Zeilenumbruch mit var_dump nicht auf, wenn man nicht genau hinsieht.
 
Ich habe das mal untersucht. In das letzte Element einen Zeilenumbruch eingefügt:
Code:
$connect_werte[0] = 'localhost:3306';
$connect_werte[1] = 'Name-der-Datenbank';
$connect_werte[2] = 'Benutzername';
$connect_werte[3] = 'Passwort';
$connect_werte[4] = 'localhost';
$connect_werte[5] = "3306\n";
var_dump($connect_werte);
$DB_HOST = "$connect_werte[0]"; // ( Variable lautet: localhost:3306 )
$DB_NAME = "$connect_werte[1]"; // ( Variable lautet: Name-der-Datenbank )
$DB_BENUTZER = "$connect_werte[2]"; // ( Variable lautet: Benutzername )
$DB_PASSWORT = "$connect_werte[3]"; // ( Variable lautet: Passwort )
$DB_HOST_ONLY = "$connect_werte[4]"; // ( Variable lautet: localhost )
$DB_PORT_ONLY = "$connect_werte[5]"; // ( Variable lautet: 3306 )

$command = '/usr/bin/mysqldump --host=' . $DB_HOST_ONLY . ' --user=' . $DB_BENUTZER . ' --port=' . $DB_PORT_ONLY . ' --password=' . $DB_PASSWORT . ' ' . $DB_NAME . ' > backup/backup-' . date("Y-m-d_H-i") . '.sql';
var_dump($command);
In den Ausgaben durch var_dump ist dieser dann zu sehen, allerdings nicht kodiert als "\n" sondern als echter Umbruch im Text:
Code:
D:\Gemeinsame Dateien\Webentwicklung\zz-test5.php:24:
array (size=6)
  0 => string 'localhost:3306' (length=14)
  1 => string 'Name-der-Datenbank' (length=18)
  2 => string 'Benutzername' (length=12)
  3 => string 'Passwort' (length=8)
  4 => string 'localhost' (length=9)
  5 => string '3306
' (length=5)
D:\Gemeinsame Dateien\Webentwicklung\zz-test5.php:33:string '/usr/bin/mysqldump --host=localhost --user=Benutzername --port=3306
 --password=Passwort Name-der-Datenbank > backup/backup-2024-06-20_21-00.sql' (length=144)
 
In der Textdatei steht aber kein \n hinter dem Port.
Die Zeile ist mit der 3306 zu Ende.
Lediglich der Cursor blinkt in der nächsten Zeile.
Mach Dir mal den Spaß, und hole Dir das Array per explode()
aus einer Textdatei, und speichere diese Textdatei mal mit und mal ohne Zeilenumbruch.
Bei mir hat er keinen Umbruch angezeigt.
 
Das war mir schon klar, dass da kein \n steht, den habe ich nur verwendet, um einen Teststring hin zu bekommen mit einem Zeilenumbruch.

Den Spaß habe ich mir gegönnt ;), eine Zeile mit dem Text wie von dir angegeben mit Zeilenumbruch am Ende in einer Datei gespeichert, eingelesen und mit explode gesplittet:
Code:
$str = file_get_contents('meine-testdatei.txt');
$splitted = explode('|', $str);
var_dump($splitted);
Et voila, in der Ausgabe ist beim letzten Element ein Zeilenumbruch drin:
1718915387379.png
 
Zurück