Codeigniter – Dynamischer relativer/absoluter Pfad außerhalb des Anwendungsordners

Lesezeit: 3 Minuten

Benutzer-Avatar
Chris

Ich versuche, eine Art temporären Cache-Ordner direkt außerhalb und auf derselben Ebene wie den Anwendungsordner zu haben. Dies dient zum Speichern von Bildern für einige Momente, bevor sie an einen anderen Ort verschoben werden.

Ich versuche, das Facebook-Profilbild eines Benutzers abzurufen und auf meinem Server zu speichern. Ich habe eine Bildspeicherlösung, bei der ich das Foto aufnehmen, umbenennen und dann an den entsprechenden Speicherort weitergeben muss. Meine Gedanken waren mit file_get_contents() und file_put_contents() Ich könnte diese Datei für einen Moment speichern, während ich sie entsprechend verarbeite, und sie dann in meine Speichermethode kopieren/verschieben. Ich möchte jedoch nicht, dass sich das Temp-Verzeichnis im Anwendungsordner befindet – ich möchte es auf derselben Ebene wie den Anwendungs- und Systemordner haben. Mein Problem besteht darin, auf einen relativen oder absoluten Pfad (auf derselben Ebene des Anwendungsordners) zuzugreifen, ohne ihn fest zu codieren.

Verwenden (__dir__), (__file__)und so ähnlich realpath(APPPATH) gibt mir nur Ergebnisse innerhalb des Anwendungsordners. Ich hoffe also, dass jemand anderes einen Weg kennt, dies zu erreichen

Benutzer-Avatar
Robin Castin

In dem index.php -Datei im Stammverzeichnis sind die nützlichsten Pfade so definiert, dass Sie sie im restlichen Code verwenden können. Hast du es versucht FCPATH in diesem Fall?

FCPATH   -> "https://stackoverflow.com/"
BASEPATH -> '/system/'
APPPATH  -> '/application/'

AKTUALISIEREN: Wie in den Kommentaren erwähnt, sollen die obigen Pfadbeispiele nur einen Überblick geben. Um die Sicherheit Ihres Projekts zu erhöhen, BASEPATH und APPPATH wäre nicht drinnen FCPATH und stattdessen außerhalb der Öffentlichkeit www/root Verzeichnis.

  • Ich habe nicht einmal daran gedacht, in die index.php zurückzublicken, vor langer Zeit habe ich davon erfahren APPPATH und selten hatte ich jemals etwas anderes nötig. Aber das hat genau das getan, was ich gesucht habe. Vielen Dank

    – Chris

    6. März 2013 um 9:17 Uhr

  • Gern geschehen. Ich fand es ein bisschen seltsam, dass Sie wussten, wie man es benutzt APPPATHaber nicht FCPATH 🙂

    –Robin Castlin

    6. März 2013 um 10:40 Uhr

  • Ich finde es selbst ein bisschen seltsam, haha, wenn ich bedenke, dass es eine Zeit gab, in der ich CI auf und ab gekrochen bin, um ähnliche Dinge herauszufinden. Aber es sind immer die einfachen Dinge, die mir entgehen, umso mehr, wenn ich tief in den Schützengräben versuche, etwas anderes aus der einen oder anderen Seite herauszubekommen, mich dann umdrehe und es schwieriger mache, als es sein muss. Ironischerweise hatte ich, bevor Sie geantwortet haben, sogar daran gedacht, in die index.php zu gehen und als letzten verzweifelten Versuch selbst etwas zu definieren, dann haben Sie geantwortet und mich daran erinnert, dass es bereits eine gab 🙂

    – Chris

    6. März 2013 um 19:55 Uhr

  • Für die sicherste CI-Installation ist die system und application Ordner sollten installiert werden außen des www oder öffentliches Stammverzeichnis. Dabei sollte man beachten, FCPATH würde sich NICHT an der Wurzel von befinden system und application . FCPATH repräsentiert die www Verzeichnis (wo index.php befindet sich; FC = Front Controller). Mit anderen Worten, die in dieser Antwort gezeigte Verzeichnisstruktur funktioniert nur, wenn die system und application Ordner werden innerhalb der installiert www Verzeichnis.

    – Funkelnd

    19. Oktober 2014 um 22:35 Uhr


  • Das stimmt, Sparky. Zur Antwort hinzugefügt.

    –Robin Castlin

    20. Oktober 2014 um 9:29 Uhr

1283840cookie-checkCodeigniter – Dynamischer relativer/absoluter Pfad außerhalb des Anwendungsordners

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy