Entwicklung eines Plugins - Zugriff auf Datei funktioniert nicht

  • Hallo,
    ich weiß nicht, ob ich gerade fürchterlich auf der Leitung stehe, aber ich habe eine Problem bei der Entwicklung eines Plugins, das ich nicht verstehe.


    Ich möchte ein Plugin schreiben, das eine csv-Datei in eine HTML-Tabelle umwandelt. Das Plugin soll einen Ausdruck in einer geschweiften Klammer finden und daraus unter anderem den Pfad zu einer csv-Datei auslesen. Das funktioniert auch prima, wenn ich außerhalb von Joomla mit Hilfe eines Formulars den Ausdruck in der Klammer übergebe und mittels $_POST von einer php-Datei bearbeiten lasse.


    Sobald ich das Plugin aber in Joomla starte, findet es die Datei nicht. Das Verzeichnis ist vorhanden, die Datei existiert. Ich habe es mit absoluter und relativer Pfadangabe versucht. Dass Ergebnis ist jedesmal dasselbe. Der Pfad wird in einer Variable gespeichert. Wenn ich mir die Variable anzeigen lasse, ist der korrekte Pfad zu sehen. Bevor ich die Datei öffne, wird if (file_exists($pfad)) überprüft, ob die Datei existiert. Falls er die Datei nicht findet, habe ich eine Fehlemeldung programmiert, die ich dann auch prompt zu sehen bekomme.


    Ich habe es auf einer lokalen Installation mit XAMPP getestet, aber auch kurz auf einem Live-System ausprobiert: gleiches Ergebnis.


    Muss ich bei der Pfadangabe innerhalb von Joomla irgendetwas verändern?


    Ich freue mich auf Antworten
    Danke

  • Hallo Firstlady,
    vielen Dank für die Antwort. Das Betriebssystem, mit dem ich den Code teste, ist Windows 10 mit XAMPP (also Apache etc.) als Server. Das Plugin soll später auf einem Linux-Server laufen. Die Datei habe ich zum Testen in mehreren Ordnern gespeichert, unter anderem in dem Ordner, in dem auch das Plugin liegt, und in einem eigens dafür eigerichteten Ordner htdocs/dateien. Das Plugin wird über folgenden Ausdruck gestartet: {csv2table|1|t|pfad_zur_csv_datei}. Dabei ruft der erste Parameter das Plugin auf, der zweite legt die Rahmenstärke der zu erzeugenden Tabelle fest, mit dem dritten kann man entscheiden, ob Spaltenüberschirften angezeigt werden sollen, und der vierte zeigt eben jenen Pfad zur Datei an, der mir Schwierigkeiten macht.


    Ich habe den Code der entsprechenden if-Anweisung angehängt.


    Grüße, Robert

  • Ergänzung: In der Variable "$pfad" steht nur "dateiname.csv" oder beispielsweise "dateien/dateiname.csv", nicht der lange Pfadaufruf, der in Zeile 1 des Codebespiels steht.

  • Vielen Dank, ich probiere das Plugin aus. Wahrscheinlich kann es mehr als meines, aber ich würde trotzdem gerne verstehen, warum mein Programm nicht funktioniert. Jetzt habe ich als Hobbyprogrammierer, der mit solidem Halbwissen ausgestattet ist ;), so lange daran herumgebastelt, dass ich es auch fertigstellen will.