B
ByeBye 284669
$ausgabe ist ein Array. Und was packst du in das Array?
$ausgabe[] = array("....");
$ausgabe[] = array("....");
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
<?php
ini_set('display_errors', '1');
error_reporting(E_ALL);
include '_thread-tenses/connect.php';
?>
<!doctype html>
<html>
<head>
<title>Audio Playlist</title>
<style>
figure {
display:none;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
margin: 0;
}
audio {
outline: none;
}
</style>
</head>
<body>
<?php
$files = glob('audio/*.mp3');
foreach ($files as $file) {
$name = basename($file, '.mp3');
echo '<button value="' . $file . '">' . $name . '</button>';
}
?>
<figure>
<audio controls></audio>
<figcaption></figcaption>
<span class="close-btn">Schließen</span>
</figure>
<script>
const fig = document.querySelector('figure');
const aud = document.querySelector('figure audio');
const figcapt = document.querySelector('figure figcaption');
document.body.addEventListener('click', event => {
if (event.target.classList.contains('close-btn')) {
fig.style.display = 'none';
aud.pause();
} else {
const src = event.target.value,
name = event.target.textContent;
aud.src = src;
aud.play();
figcapt.textContent = name;
fig.style.display = 'inline-block';
}
});
</script>
</body>
</html>
Danke, ich sehe mir diesen Code mal in Funktion an.... Playlist steht in der Ausgangsbeschreibung, warum es nicht geht. Die Suchfunktion der Seite, die Datum, einzelne Wörter des Titels, Kassettennummer Wochentag, Ort und später auch Stichwörter durchsucht, wäre nicht wirklich hilfreich, was zu finden. Zudem soll das ganze nicht mehr Webadministrator-Abhängig sein. Danke des Postes.Ich würde da ja gleich Nägel mit Köpfen machen und gleich auf eine zeitgemäßere Lösung setzen, entweder mit einem Modal, wie Du ein deinem Eingangsposting geschrieben hattest oder mit einer Playlist, was eine gängige Lösung ist. Mit Modal würde eine Basisversion so aussehen:
Mit Playlist fast gleich, nur dass der Player immer sichtbar wäre und darunter die Liste der Audiodateien, scrollbar wenn es relativ viele sind wie in deinem Fall.Code:<?php ini_set('display_errors', '1'); error_reporting(E_ALL); include '_thread-tenses/connect.php'; ?> <!doctype html> <html> <head> <title>Audio Playlist</title> <style> figure { display:none; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; } audio { outline: none; } </style> </head> <body> <?php $files = glob('audio/*.mp3'); foreach ($files as $file) { $name = basename($file, '.mp3'); echo '<button value="' . $file . '">' . $name . '</button>'; } ?> <figure> <audio controls></audio> <figcaption></figcaption> <span class="close-btn">Schließen</span> </figure> <script> const fig = document.querySelector('figure'); const aud = document.querySelector('figure audio'); const figcapt = document.querySelector('figure figcaption'); document.body.addEventListener('click', event => { if (event.target.classList.contains('close-btn')) { fig.style.display = 'none'; aud.pause(); } else { const src = event.target.value, name = event.target.textContent; aud.src = src; aud.play(); figcapt.textContent = name; fig.style.display = 'inline-block'; } }); </script> </body> </html>
Du meinst, dass die Audiodateien keine Metadaten haben? Eine Playlist i. w. S. würde die auch nicht brauchen, was Du dir vorstellst, dass man eine Liste mit den Namen bzw. Nummern sieht, könnte man auch als Playlist interpretieren.Playlist steht in der Ausgangsbeschreibung, warum es nicht geht.
Ja, stimmt. Ich habe derweilen 480 Audiodateien da - und einiges an unbearbeitetes. Die müsste ich alle durcharbeiten, wenn ich sie mit Meta vergeben sollte. Und auch wenn ich Titeln vergeben täte, ist mir dies zu umständlich, da ich eh schon ein Inhaltsverzeichnis habe - siehe Post 10 . Daher versuche ich diese Möglichkeit und interpretiere das Inhaltsverzeichnis als Playlist. Danke.Du meinst, dass die Audiodateien keine Metadaten haben? Eine Playlist i. w. S. würde die auch nicht brauchen, was Du dir vorstellst, dass man eine Liste mit den Namen bzw. Nummern sieht, könnte man auch als Playlist interpretieren.
So etwas würde ich offline machen, d. h. ein getrenntes PHP-Skript als Werkzeug für den Admin, das beides, Inhaltsverzeichnis und Ordnerinhalt, vergleicht und die Differenzen anzeigt. Dann brauchst Du nicht den Umweg mit dem Anlegen einer Datei zu gehen.Wass ich aber noch möchte ist, dass 1. Wenn im Audio-Verzeichnis eine Datei da ist, die nicht im Inhaltsverzeichnis ist, dass eine Datei erstellt wird, in dieser die Nummer der mp3 notiert wird. Damit weiss der Admin, dass man hier eine Datei hat, die zu ergänzen ist. Ebenso 2. wenn im Inhaltsverzeichnis einen Eintrag steht, der NICHT im Audioverzeichnis ist.
Super idee. Danke euch allen.Noch eine Anmerkung zu dem Inhaltsverzeichnis. Du schreibst:
So etwas würde ich offline machen, d. h. ein getrenntes PHP-Skript als Werkzeug für den Admin, das beides, Inhaltsverzeichnis und Ordnerinhalt, vergleicht und die Differenzen anzeigt. Dann brauchst Du nicht den Umweg mit dem Anlegen einer Datei zu gehen.
.....
$ausgabe = array();
.....
if (!empty($audio) && !empty($inhverz)) {
foreach ($inhverz as $gueltig) {
$zeichen = substr($gueltig,0 ,1); // erster Buchstabe heruaarbeiten
foreach ($audionew as $wert) {
if ( $zeichen === "B"){
$ausgabe = array($zeichen => $gueltig);
}
}
}
print_r($ausgabe);
} else {
echo "Die Audiodateien oder das Inhaltsverzeichnis scheinen nicht vorhanden zu sein!";
}
var_dump ($ausgabe);
Array ( [B] => Bund Gottes mit uns Menschen -- Nr. 453_01 - Mittwoch 12.06.2002 - Ort: Purbach)