nullpeiler
Goto Top

PHP Dateien vom Netzlaufwerk in Website wiedergeben

Hallo Admins,

ich bin Anfänger im Bereich PHP und habe folgendes Problem.
Wir haben auf einen Netzlaufwerk Pläne in PDF Form liegen und ich möchte diese PDFs auf einen Bildschirm nebeneinander wiedergeben.
Das lokale abrufen der PDFs und die Wiedergabe per PHP Skript funktioniert, allerdings kann ich nicht auf PDFs auf einen Netzshare über die Website aufrufen.
Zum Einsatz kommt ein Raspberry mit Raspbian und Apache2.
Es liegt sicher an den Benutzerrechten vom Apache.
Hier meine Frage, kann ich beim scandir Befehl auf eine Freigabe zugreifen und wenn ja wie lautet die Syntax?
Hab bei Google leider nichts gefunden.

Danke schonmal und LG

Content-ID: 2340906697

Url: https://administrator.de/contentid/2340906697

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

148523
148523 30.03.2022 aktualisiert um 10:20:14 Uhr
Goto Top
Es liegt sicher an den Benutzerrechten vom Apache.
Das kommt darauf an. Leider teilst du uns nicht mit WO und in welchem Verzeichnis diese PDFs liegen. face-sad
Es gibt 2 Möglichkeiten wenn das Verzeichnis ein Unterverzeichnis der HTML Document Root /var/www/html im RasPi ist.
  • 1.) Du gibst das Verzeichnis mit Samba im Netz frei so das alle PDFs dort per SMB/CIFS ablegen können.
  • 2.) Du mountest ein dortiges Unterverzeichnes mit SMB/CIFS von einem z.B. von einem Windows Server wie hier beschrieben.
Damit bleibtst du mit den Apache Rechten innerhalb der Document Root.
Ein Verzeichnis außerhalb der Document Root musst du im Apache Setup immer zusätzlich definieren.
Ist übrigens beim Nginx Webserver genau so der von der Performance deutlich besser auf dem RasPi rennt. face-wink
nullpeiler
nullpeiler 30.03.2022 um 10:41:14 Uhr
Goto Top
Die PDFs liegen auf einen Windowsserver also \\serverxy\Plaene\

Gibt es eine andere Möglichkeit als dieses zu Mounten, vielleicht direkt im Skript?

Hier mal der Quellcode für das Ordner auslesen und und ausgeben der PDFs.

$verzeichnis = 'plaene/';  
foreach (array_slice(scanDir($verzeichnis), 2) as $datei) {
 if (in_array(substr($datei, -3, 3), array('pdf'))) {  
  echo '<embed src="' . $verzeichnis . $datei . '#toolbar=0" width="640" height="950" float="center" >';  
 }
}

Der Test Ordner Plaene liegt zur Zeit im Dokumenten Root, damit funktioniert es.
NordicMike
NordicMike 30.03.2022 um 10:49:03 Uhr
Goto Top
Du kannst dir aber auch die Netzwerkshares ins /mnt/shares mounten und dann, wie üblich, über lokale Pfade darauf zugreifen.