2013-03-06 9 views
35

Ich versuche, einen temporären Cache-Ordner der Art nur außerhalb und auf der gleichen Ebene wie der Anwendungsordner zu haben. Dies dient zum Speichern von Bildern für einige Momente, bevor Sie sie außerhalb der Site verschieben.Codeigniter - dynamisch relativen/absoluten Pfad außerhalb der Anwendung Ordner

Ich versuche, ein Facebook-Profilbild eines Benutzers zu erhalten und es auf meinem Server zu speichern. Ich habe eine Bildspeicherlösung, die erfordert, dass ich das Foto mache, es umbenenne und es dann an den entsprechenden Ort zum Speichern übergebe. Meine Gedanken waren file_get_contents() und file_put_contents() Ich könnte diese Datei für einen Moment speichern, während sie es entsprechend verarbeitet und dann kopiert/verschiebt es auf meine Speichermethode. Ich möchte jedoch nicht das temporäre Verzeichnis innerhalb des Anwendungsordners haben - ich möchte es auf der gleichen Ebene wie den Anwendungs- und Systemordner haben. Mein Problem ist der Zugriff auf einen relativen Pfad oder absoluten Pfad (auf der gleichen Ebene des Anwendungsordners), ohne ihn hart zu codieren.

Mit (__dir__), (__file__), und etwas wie realpath(APPPATH) gibt mir nur Ergebnisse innerhalb der Anwendung Ordner. So hoffe ich, dass jemand anderes einen Weg weiß, um dies zu erreichen

Antwort

104

In der index.php Datei im root sind die meisten nützlichen Pfade definiert, so dass Sie sie im Rest des Codes verwenden können. Haben Sie in diesem Fall versucht FCPATH?

FCPATH -> '/' 
BASEPATH -> '/system/' 
APPPATH -> '/application/' 

UPDATE: Wie in den Kommentaren erwähnt, über die Pfade Beispiele sind nur einen Überblick zu geben. Um die Sicherheit Ihres Projekts zu erhöhen, wären BASEPATH und APPPATH nicht innerhalb FCPATH und stattdessen außerhalb der öffentlichen www/root Verzeichnis.

+0

habe nicht einmal daran gedacht, zurück in die index.php zu schauen, lange habe ich noch etwas über den 'APPPATH' gelernt und selten hatte ich jemals etwas anderes nötig. Aber das hat genau das gemacht, was ich gesucht habe. Danke – chris

+0

Gern geschehen. Ich fand es ein bisschen komisch, dass du APPPATH, aber nicht FCPATH benutzt hast :) –

+1

Ich finde es ein bisschen komisch, haha, ich dachte, es gäbe eine Zeit, in der ich CI hochkletterte, um ähnliche Dinge herauszufinden. Aber es sind immer die einfachen Dinge, die mir entgehen, mehr noch, wenn ich tief in den Schützengräben versuche, etwas anderes aus dem einen oder anderen Aspekt herauszufinden, dann drehe ich mich um und mache es schwieriger, als es sein muss. Ironischerweise, bevor du geantwortet hast, habe ich sogar daran gedacht, in die index.php zu gehen und etwas selbst als letzten Versuch zu definieren, dann hast du geantwortet und mich daran erinnert, dass es schon war :-) – chris

Verwandte Themen