web-dev-qa-db-fra.com

Codeigniter - récupère dynamiquement le chemin relatif / absolu en dehors du dossier de l'application

J'essaie d'avoir un dossier de cache temporaire de toutes sortes juste en dehors et au même niveau que le dossier de l'application. Ceci permet de stocker des images pendant quelques instants avant de les déplacer hors site.

J'essaie d'obtenir l'image de profil Facebook d'un utilisateur et de l'enregistrer sur mon serveur. J'ai une solution de stockage d'images qui nécessite de prendre la photo, de la renommer puis de la transmettre à l'emplacement correspondant. Mes pensées utilisaient file_get_contents() et file_put_contents() Je pouvais stocker ce fichier pendant un moment tout en le traitant en conséquence, puis le copier/le déplacer vers ma méthode de stockage. Cependant, je ne souhaite pas que le répertoire temporaire se trouve dans le dossier de l’application. Je veux le placer au même niveau que le dossier de l’application et le dossier système. Mon problème est d'accéder à un chemin relatif ou absolu (au même niveau du dossier de l'application) sans le coder en dur.

L'utilisation de (__dir__), (__file__) Et de quelque chose comme realpath(APPPATH) ne me donne que des résultats dans le dossier de l'application. J'espère donc que quelqu'un d'autre connaîtra le moyen d'y parvenir.

38
chris

Dans le index.php dans la racine, les chemins les plus utiles sont définis afin que vous puissiez les utiliser dans le reste du code. Avez-vous essayé FCPATH dans ce cas?

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

PDATE: Comme mentionné dans les commentaires, les exemples de chemin ci-dessus servent uniquement à donner un aperçu. Pour augmenter la sécurité de votre projet, BASEPATH et APPPATH ne seraient pas à l'intérieur de FCPATH mais à l'extérieur du public www/root répertoire.

120
Robin Castlin