2013-03-06 6 views
35

Я пытаюсь создать временную папку кэша, расположенную за пределами и на том же уровне, что и папка приложения. Это для хранения изображений в течение нескольких секунд, прежде чем перемещать их за пределы площадки.Codeigniter - динамическое получение относительного/абсолютного пути за пределами папки приложения

Я пытаюсь получить изображение профиля пользователя Facebook и сохранить его на своем сервере. У меня есть решение для хранения изображений, которое требует от меня сделать фотографию и переименовать ее, а затем передать ее в соответствующее место для хранения. Мои мысли использовали file_get_contents() и file_put_contents() Я мог хранить этот файл на мгновение при его обработке, а затем скопировать/переместить его в мой метод хранения. Однако я не хочу иметь временную директорию внутри папки приложения - я хочу, чтобы она была на том же уровне, что и приложение и системная папка. Моя проблема заключается в доступе к относительному пути или абсолютному пути (на том же уровне папки приложения) без жесткого кодирования.

Использование (__dir__), (__file__), и что-то вроде realpath(APPPATH) дает только результаты в папке приложения. Поэтому я надеюсь, что кто-то еще знает способ достичь этого

ответ

104

В файле index.php в корне используются самые полезные пути, чтобы вы могли использовать их в остальной части кода. Вы пробовали FCPATH в этом случае?

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

UPDATE: Как уже упоминалось в комментариях, примеры пути выше только дать обзор. Чтобы повысить безопасность вашего проекта, BASEPATH и APPPATH не были бы внутри FCPATH и вместо этого вне публичного www/root.

+0

даже не подумал оглянуться назад в index.php, долго назад я узнал о «APPPATH», и редко мне когда-либо требовалось что-либо в противном случае. Но это именно то, что я искал. Спасибо – chris

+0

Добро пожаловать. Мне было немного странно, что вы знали, как использовать 'APPPATH', но не' FCPATH' :) –

+1

Мне кажется, что это немного странно, хаха, считая, что я проскальзывал вверх и вниз по CI, чтобы увидеть похожие вещи. Но всегда это простые вещи, которые уклоняются от меня, тем более, когда Im глубоко в окопах, пытающихся понять что-то еще из того или иного аспекта, затем развернитесь и сделайте это более трудным, чем нужно. По иронии судьбы, прежде чем вы ответили, я даже подумывал о том, чтобы войти в index.php и сам что-то определить в качестве последнего усилия, тогда вы ответили и напомнили мне, что там уже было :-) – chris

Смежные вопросы